检查表单元素是否已提交并处理提交的表单

时间:2017-11-20 14:56:32

标签: java jsp

这是我的代码:

<form method="POST" action="">
<div class="col-lg-4 pull-right">
            <div class="form-group">
                <label for="txtUserId">ID:</label>
                <input type="text" name="txtUserId" id="txtUserId" class="form-control input-lg" />
            </div>
            <div class="form-group">
                <label for="txtUserName">NAME:</label>
                <input type="text" name="txtUserName" id="txtUserName" class="form-control input-lg" />
            </div>
            <div class="form-group">
                <label for="txtUserLastName">LastName:</label>
                <input type="text" name="txtUserLastName" id="txtUserLastName" class="form-control input-lg" />
            </div>
        </div>
</form>

第一个问题:我们可以处理.jsp文件中的帖子请求吗?或者我们必须从java类中获取它?

第二个问题:如何查看点击了哪个按钮?

喜欢:php中的if(isset($_POST['btnSAVE'])

最好的问候。

2 个答案:

答案 0 :(得分:0)

  1. 我们可以在.jsp文件中处理发布请求吗?
    • 是。使用“request.getParameter”
    • 读取先前JSP请求中发送的值
  2. 如何查看点击了哪个按钮
  3. <FORM NAME="form1" METHOD="POST" Action="SomePage.jsp">
        <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Button 1">
        <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Button 2">
        <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Button 3">
    </FORM>
    
    String submit = request.getParameter("submit");
    

    提交将包含点击按钮的值。

    但是,我建议使用servlet进行表单后期处理。

答案 1 :(得分:0)

是的,可以做到。

需要两个JSP页面,第一个是显示表单,第二个是处理表单提交。我们也可以使用相同的JSP来处理表单,但是我们需要验证表单是否是表单提交所请求的。

假设表单内容的JSP是

<form method="POST" action="/processForm.jsp">
 ...

然后 processForm.jsp

<%@ page import="java.io.*,java.util.*, javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%
   System.out.println("HTTP method:" + request.getMethod());

   if("POST".equals(request.getMethod()) {
       System.out.println(request.getParameter("txtUserId"));
       System.out.println(request.getParameter("txtUserName"));
       System.out.println(request.getParameter("txtUserLastName"));

       //Do something with the parameters
   }
%>

第二个问题的答案是在输入表单之前将按钮输入的值设置为表示单击的内容,然后可以按如下方式访问JSP中此按钮输入的值

String clicked = request.getParameter("btnSAVE");

或者我们可以包含隐藏的输入。点击此输入的btnSAVE值在表单提交之前设置,并且processForm.jsp

收到相同的值

由于JSP的动态内容(scriplet)是在服务器上处理的,我们可以在那里读取文件或连接到数据库。