2

我要提交的表单有 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>

在方法中的 JavaAction类中execute(),我尝试使用request.getParameter("back")来检查是否按下了后退按钮,但它不起作用。如何处理struts中的多个提交按钮?

提前感谢您的帮助:)

4

3 回答 3

5

使用标签上的property属性<html:submit>来指定您将在操作中检查的请求参数的名称。

JSP

<html:submit property="back">back</html:submit>

行动

if(request.getParameter("back") != null) {
    // back button was clicked
}

或者,您可以为所有提交按钮赋予相同的属性,然后检查操作中参数的值。但是,这增加了额外的国际化问题(您需要检查同一字符串的非英语翻译)。

有关更多信息,请参阅Struts API

于 2012-08-16T12:06:10.487 回答
0

使用DispatchAction 或使用 javascript 并在隐藏参数中传递值 actontype(返回,稍后继续)。

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

于 2012-08-16T12:07:06.217 回答
0

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

于 2012-08-16T12:17:29.283 回答