Struts - 为一个表单使用多个提交按钮? (如何知道点击了哪个)

时间:2012-08-16 11:58:49

标签: java struts

我想要提交的表单有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中处理多个提交按钮?

提前感谢您的帮助:)

3 个答案:

答案 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(返回,稍后继续)。

http://unnisworld.wordpress.com/2008/02/14/struts-tip-how-to-organize-related-operations-into-a-single-action-class/

答案 2 :(得分:0)

你可以通过jquery获得按钮ID。然后你知道哪个按钮被点击了。根据Click按钮调用struts Action。