2010-03-11 60 views
1

如何在JSP页面中的某个变量上指定一个值,然后单击按钮?如何在JSP中单击按钮时将值赋给变量(Java变量)?

我在我的JSP页面中有一个“删除”按钮。当用户点击这个按钮时,它必须设置一个var(比如一个布尔标志或者一个字符串)为某个值。我怎样才能做到这一点?

<% boolean del=false; %> 
<input type="button" name="deleteAnswer" value="delete" onClick= <Code to set del> /> 
<% if(del) { My Code } %> 

回答

1

不幸的是,Web界面不工作。

整个JSP首先被渲染并发送到浏览器。然后用户可以点击,并且可以将结果发送到服务器并制作另一个页面。 在服务器上处理它时,用户无法与JSP进行交互。

另一种方法是使用JavaScript对点击作出反应。

0

服务器机器具有带Java/JSP的网络服务器。客户端机器具有HTML/CSS/JS的网页浏览器。 Webbrowser发送HTTP请求并检索HTTP响应。 Web服务器检索HTTP请求并发送HTTP响应。 Java/JSP在Web服务器上运行并生成HTML/CSS/JS页面。服务器机器通过网络向客户机发送HTML/CSS/JS页面。 Webbrowser检索HTML/CSS/JS并开始显示HT​​ML,应用CSS并执行JS。客户机上没有Java/JSP的手段。要在客户端操作期间执行Java/JSP,只需将特定的Java/JSP代码附加到特定的HTTP请求。

要开始,只是有一个HTML表单,像这样在JSP:

<form action="delete" method="post"> 
    <input type="submit" value="Delete"> 
</form> 

而一个在web.xml其中侦听/deleteurl-patternServlet定义:

<servlet> 
    <servlet-name>delete</servlet-name> 
    <servlet-class>com.example.DeleteServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>delete</servlet-name> 
    <url-pattern>/delete</url-pattern> 
</servlet-mapping> 

创建com.example.DeleteServlet看起来像这样:

public class DeleteServlet extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // Your code here. 

     // Show JSP page. 
     request.getRequestDispatcher("page.jsp").forward(request, response); 
    } 
} 

这基本上都是。要了解更多关于JSP/Servlets的信息,我可以推荐those tutorials