我想要提交的表单有3个按钮。我是struts的新手,我想知道,有没有办法找到点击了哪个按钮?在我的HTML中我有这个
<html:form action="myAction.jspa">
<div align="right">
<html:submit value="back" />
<html:submit value="continue Later" />
<html:submit value="submit" />
</div>
</html:form>
在Action
方法的Java execute()
类中,我尝试使用request.getParameter("back")
来检查后退按钮是否已被按下但不起作用。如何在struts中处理多个提交按钮?
提前感谢您的帮助:)
答案 0 :(得分:5)
使用property
标记上的<html:submit>
属性指定您在操作中检查的请求参数的名称。
JSP
<html:submit property="back">back</html:submit>
动作
if(request.getParameter("back") != null) {
// back button was clicked
}
您也可以为所有提交按钮提供相同属性,然后检查操作中参数的值。但是,这会增加额外的国际化问题(您需要检查相同字符串的非英语翻译)。
有关详细信息,请参阅Struts API。
答案 1 :(得分:0)
使用DispatchAction或使用javascript并在隐藏参数中传递值actontype(返回,稍后继续)。
答案 2 :(得分:0)
你可以通过jquery获得按钮ID。然后你知道哪个按钮被点击了。根据Click按钮调用struts Action。