java - Struts Action 中的多个入口点(迁移 Struts 2.2.3 -> 2.3.1)

标签 java jsp struts2 dmi

我在 struts.xml 中有一个 Action :

<action name="reprint" class="reprintAction">
        <result name="success" type="redirectAction">
            <param name="actionName">reprint</param>
            <param name="namespace">/x</param>
            <param name="errorFlag">${errorFlag}</param>
            <param name="message">${message}</param>
        </result>
        <result name="view">/jsp/reprintOverview.jsp</result>
</action>

JSP:

<s:form action="reprint">
    <s:select name="selectedPdfPrinter" list="shopPdfPrinterList" listKey="deviceId" listValue="deviceId" theme="simple"/>
    <s:submit value="Print" theme="simple" method="shopPdfReprint"/>
</s:form>

有几个表单元素,都绑定(bind)到一个 Action 。 每个表单都有一个单独的提交按钮,具有不同的方法(例如“shopPdfReprint”)。 每个方法都映射到相应类中的一个方法。

Struts 2.2.3 一切正常。但是在迁移到 2.3.1 之后,方法映射不起作用。而不是调用相应的方法(例如 "shopPdfReprint"),仅调用类的 execute() 方法。

我看过文档,但不幸的是没有找到任何线索,如何适应 2.3.1

有人遇到过这个吗?

最佳答案

发生这种情况是因为您关闭了 DMI . method 属性与以前一样使用提交标记,即使在重新发送安全修复程序之后也是如此。使用常量启用 DMI

<constant name="struts.enable.DynamicMethodInvocation" value="true"/> 

如果它不起作用,请告诉我。

关于java - Struts Action 中的多个入口点(迁移 Struts 2.2.3 -> 2.3.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20052630/

相关文章:

java - 是否可以获取 SortedMap.values() 的列表接口(interface)?

java - 使用 openssl 和 -subj 参数在 Java 中生成 CSR

java - Windows 使用 Java 或 CMD 以编程方式更改系统音量

java - 下载文件时获取附加文件内容的j​​sp源代码

java - 尾部部分不允许有内容 - 使用 struts2-spring-hibernate

java - 如何使Struts2选择标签只读

java - Java中Stack的删除方法

java - 使用 enctype ="multipart/form-data"时请求 getParameter 始终为 null

java - JSP:多个查询和生成键的问题

java - 如何使用dojo查找操作类是否返回错误或成功?