我正在使用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
类。
答案 0 :(得分:0)
如何在struts2
中的一个表单中添加2个提交按钮
似乎您已经完成了,type="button"
表示通过Struts标记生成了button type="submit"
,但您可以使用type="submit
。对于description,您可以参考文档。它们之间差别不大,因为它们中的任何一个都提交了表单。如果您要执行操作类的不同操作或方法,则可以在action
标记中使用其他属性,例如method
或submit
。
如何确定我点击jsp表单的按钮
这取决于您希望在客户端或服务器端或两者上执行此操作。在客户端,您可以使用javascript来处理表单事件或按钮本身。代码由不同的处理程序分隔,因此在处理程序中,您确切地知道触发事件的元素,或使用对象target
属性来确定类似于this的答案。在服务器端,您可以使用生成的value
或input
标记的button
属性,并通过name
作为参数传递。请注意,并非所有HTML浏览器都使用按钮value
属性。