【发布时间】:2015-01-29 12:55:23
【问题描述】:
我是 JSP 和 Servlet 开发的新手,我必须做以下事情:
我有一个包含 JQuery 按钮元素的 JSP 页面。
<th width = "8.33%">
<form action="salwf.do" method="post">
<button name="status" value="Accept" class="acceptButton">ACCEPT BUTTON</button>
<button name="status" value="Cancel" class="cancelButton">CANCEL BUTTON</button>
<button name="status" value="SAP" class="sapButton">SAP ICON BUTTON</button>
</form>
</th>
如您所见,我将这个按钮元素放入了一个表单中。每个按钮的所有按钮都有一个名为 status 的属性,每个按钮都有一个特定的值(Accept 用于第一个按钮,Cancel 用于第二个按钮,Sap 用于第三个按钮)。
好的,现在我想将此表单提交给处理包含该表单的页面的 Servlet。该页面的网址如下:
http://localhost:7001/edi-mon/salwf.do
这是web.xml文件中的servlet配置(Servlet定义和Servlet URL映射):
<servlet>
<servlet-name>salwf</servlet-name>
<servlet-class>it.sistinf.ediweb.monitor.servlets.Salwf</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>salwf</servlet-name>
<url-pattern>/salwf.do</url-pattern>
</servlet-mapping>
然后我有一个实现HttpServlet 接口并处理这个JSP 页面的Salwf 类。
所以这个 Servlet 还要处理前一个表单的 post,为此我在这个类中实现了 doPost() 方法,这样:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String status = request.getParameter("status");
}
所以我想检索 JQuery 单击按钮的 status 名称的值,但它不起作用。
在调试应用程序时,我尝试单击按钮,但从未进入doPost() 方法,因此无法检索状态请求参数的值。
为什么?我错过了什么?我该如何解决这个问题?
【问题讨论】:
-
如何提交表格?我在那里没有看到 SUBMIT 控件,所以你必须使用 js。请添加点击功能。
-
@BigMike 究竟是什么意思?单击 3 个按钮之一时,不会自动提交表单?你能给我发一个代码 sn-p 来解决我的问题吗?
-
@AndreaNobili,当然不是。要汇总表单,您必须创建
submit类型的<input>元素或使用 javascript 调用表单的submit()方法。 -
顺便说一句,您所有的按钮都具有相同的名称。我不确定这是你真正想要的。
-
@AlexR,IE 会将没有
type的button视为submit- 所以如果这是他正在测试的地方,他实际上可能会看到它提交
标签: jquery jsp jakarta-ee servlets