我有一个这样的表格:
<s:form>
<s:submit action="act1" />
<s:submit action="act2" />
</s:form>
在生成的HTML上我有:
<input type="submit" name="action:act1">
<input type="submit" name="action:act2">
现在使用struts2.3它不起作用,但使用struts 2.0就可以了。
日志说参数:action:act1
在excludeParams
问题出在params
拦截器:
defaultStack
i版本2.3上有一个类似^action:.*
的拦截器,用于拦截器params
拦截器。
支柱 - 缺省 - XML:
<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">^dojo\..*,^struts\..*,^session\..*,^request
\..*,^application\..*,^servlet(Request|Response)\..*,^parameters
\..*,^action:.*,^method:.*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="debugging"/>
<interceptor-ref name="deprecation"/>
</interceptor-stack>
我该怎么办? 感谢
答案 0 :(得分:2)
您需要修改struts.xml
文件。添加以下行
<constant name="struts.mapper.action.prefix.enabled" value="true" />