Forms Struts2 submit标记在Struts2.1.8中不起作用,带有method属性

Forms Struts2 submit标记在Struts2.1.8中不起作用,带有method属性,forms,methods,struts2,submit,action,Forms,Methods,Struts2,Submit,Action,我正在将struts2应用程序从struts版本2.1.6升级到2.1.8。我有以下带有method属性的submit标记,它在升级后已停止工作 <s:form action="xyzDetail_save" theme="simple"> <s:submit method="addxyz" value="%{getText('button.add1')}" /> 还有其他struts库,如struts dojo、struts tiles。 有人知道为什么这行

我正在将struts2应用程序从struts版本2.1.6升级到2.1.8。我有以下带有method属性的submit标记,它在升级后已停止工作

<s:form action="xyzDetail_save" theme="simple">

<s:submit method="addxyz" value="%{getText('button.add1')}" />  

还有其他struts库,如struts dojo、struts tiles。 有人知道为什么这行不通吗?或者你能告诉我应该调试哪个拦截器来找出问题的根源吗?
感谢您在struts.xml中尝试将DMI设置为true(请注意,出于安全原因,DMI非常不受欢迎)


您应该看看org.apache.struts2.dispatcher.mapper.DefaultActionMapper,parseActionName方法。
正如我之前告诉您的,您将看到,您必须将StrutsConstants.STRUTS\u ENABLE\u DYNAMIC\u METHOD\u调用设置为true。

看起来您没有正确地转义代码示例。您是否可以编辑您的问题并按照此指南进行格式设置:另外,当您说“提交”按钮不起作用时,您的意思是什么?你有例外吗?它什么都不做吗?它不会抛出任何异常,而是转到表单操作的默认方法(忽略提交标记中设置的方法属性)。这是我正在调试并升级到2.1.8(从2.1.6版)的旧代码。你能试试2.2.1版上发生了什么吗?维迪亚,我面临着同样的问题,你找到了解决方案吗?我认为这是一个框架错误。在2.1.6中可以正常工作,但在2.1.8中不能。在2.1.8中,StrutsPrepareAndExecuteFilter中dofilter的findActionMapping无法找到映射,因此将执行操作表单的默认映射。
<constant name="struts.enable.DynamicMethodInvocation" value="true" />