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

时间:2013-12-11 10:04:01

标签: java html jsp struts2 ognl

我正在使用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类。

1 个答案:

答案 0 :(得分:0)

  

如何在struts2

中的一个表单中添加2个提交按钮

似乎您已经完成了,type="button"表示通过Struts标记生成了button type="submit",但您可以使用type="submit。对于description,您可以参考文档。它们之间差别不大,因为它们中的任何一个都提交了表单。如果您要执行操作类的不同操作或方法,则可以在action标记中使用其他属性,例如methodsubmit

  

如何确定我点击jsp表单的按钮

这取决于您希望在客户端或服务器端或两者上执行此操作。在客户端,您可以使用javascript来处理表单事件或按钮本身。代码由不同的处理程序分隔,因此在处理程序中,您确切地知道触发事件的元素,或使用对象target属性来确定类似于this的答案。在服务器端,您可以使用生成的valueinput标记的button属性,并通过name作为参数传递。请注意,并非所有HTML浏览器都使用按钮value属性。