一尘不染

如何在Struts 2的一个表单上添加两个提交按钮

jsp

我正在使用Struts2开发应用程序。我的应用程序用于在线购物。我的任务是更新和删除购物车项目。我有一个JSP页面,它有4个文本字段。我需要将这些文本字段的数据提交给Modify操作。更新和删除提交按钮位于同一页面,同一表格中。如何确定我在JSP表单上单击的按钮是哪个?

我的表格是:

<s:form action="ModifyCart">
   <s:textfield readonly="true" name="shoppingCart.item.id" label="Item Code" value="% item.id}"/>
   <s:textfield readonly="true" label="Item Name" value="%{item.itemName}"/>
   <s:textfield name="shoppingCart.qty" value="%{qty}"/>                                                                
   <s:textfield readonly="true" label="Available Quantity" name="shoppingCart.item.qty" value="%{item.qty}"/>
   <s:submit type="button" label="Update" name="submit"/>
   <s:submit type="button" label="Remove" name="clear"/></s:form>

重要:

我需要在Action每次提交时将所有文本字段的数据提交给班级。


阅读 195

收藏
2020-06-08

共1个答案

一尘不染

如何在struts2中以一种形式添加2个提交按钮

似乎您已经完成了,这type="button"意味着button type="submit"可以通过Struts标记生成a
,但是您可以使用type="submit。有关说明,请参阅文档。它们之间没有太大区别,因为它们中的任何一个都提交了表单。如果要执行不同的动作或动作类的方法,则可以在标记中使用附加属性,如action或。
method``submit

我如何确定我在jsp表单上单击了哪个按钮

这取决于您要在客户端或服务器端(或两者)上在哪里进行操作。在客户端,您可以使用javascript处理表单或按钮本身的事件。代码由不同的处理程序分开,因此在处理程序中,您完全知道触发事件的元素,或者使用对象target属性来确定该内容,如此答案所示。在服务器端,您可以使用或标记的value属性,该属性由生成并作为参数传递。请注意,并非所有HTML浏览器都可以使用button
属性。input``button``name``value

2020-06-08