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

标签 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>

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

提前感谢您的帮助:)

最佳答案

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

JSP

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

行动

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

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

有关详细信息,请参阅Struts API .

关于java - Struts - 对一个表单使用多个提交按钮? (如何知道哪个被点击了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986599/

相关文章:

java - 如何在没有小程序或外部应用程序的情况下执行基于浏览器内 Web 应用程序客户端证书的身份验证?

java - 用于计算日志文件中堆栈跟踪的工具

java - Jupyter Notebook 的 Gradle 依赖项

java - Struts 从操作重定向到 Jsp,然后再次返回到同一操作类,出现空指针异常

java - 页面未加载到 targetFrame 中

java - 打印 Action 中定义的变量

javascript - 使用 javascript 或其他方法检查 bean 是否为 null

java - Oracle脚本从Java代码运行,无需安装Oracle客户端

java - 为什么在 Struts 1.2.7 中延迟实例化 MessageResourcesFactory?

html - Struts 标签替换