【问题标题】:Check if form element is submitted and handling submitted form检查是否提交表单元素并处理提交的表单
【发布时间】:2017-11-20 14:56:32
【问题描述】:

这是我的代码:

<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 文件中处理 post 请求吗?还是只能从 java 类中获取?

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

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

最好的问候。

【问题讨论】:

  • 您可以编写一个Javascript函数并调用按钮的onclick。你应该可以在函数中做你想做的事,然后提交表单。
  • 嗯,我认为这是另一种方式,我需要正常的方式来获取函数中的发布数据并做其他事情

标签: java jsp


【解决方案1】:

可以的。

需要两个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 的动态内容(脚本)是在服务器上处理的,我们可以在其中执行读取文件或连接到数据库等操作。

【讨论】:

    【解决方案2】:
    1. 我们可以在 .jsp 文件中处理 post 请求吗
      • 是的。使用“request.getParameter”读取从先前 JSP 请求中发送的值
    2. 如何检查点击了哪个按钮
    <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 进行表单后期处理。

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 2014-06-09
      • 1970-01-01
      • 2021-01-24
      • 2013-09-21
      相关资源
      最近更新 更多