【发布时间】:2016-09-10 04:03:57
【问题描述】:
我在我的应用程序的struts.xml 中有以下操作映射,它在 Struts 2.3.28.1 上运行得很好;调用由x.ApplicationHandler.edit 方法处理的/editApplication 操作。
<action name="*Application" class="x.ApplicationHandler" method="{1}">
<result name="input">/WEB-INF/application.jsp</result>
<result name="success" type="redirectAction">
<param name="actionName">browseApps</param>
</result>
</action>
升级到 Struts 2.5 后,这不再有效。尝试调用 /editApplication 操作会显示 404 错误:
HTTP 状态 404 - 没有为命名空间 [/] 和操作名称 [editApplication] 映射操作
我查看了 Struts 2.5 发行说明,没有看到任何关于基于通配符的操作映射工作方式的更新。是否有任何原因导致此配置不再有效?
【问题讨论】:
-
这是因为 SMI 正如 Aleksandr 已经解释过的那样,如果不允许使用方法,则会抛出缺少方法的异常。我想知道用“不允许此方法”抛出异常是否会更好,wdyt?
-
是的,一个更有意义的例外在这里可能会很有帮助。
-
我已经注册了一个问题来涵盖这个issues.apache.org/jira/browse/WW-4640