gpt4 book ai didi

java - 具有多个带有 action 属性的提交标签的 Struts 2.3 表单不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:06 24 4
gpt4 key购买 nike

我有这样一个表格:

<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 拦截器。

struts-default-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>

我能做什么? 谢谢

最佳答案

您需要编辑您的struts.xml 文件。向其中添加以下行

<constant name="struts.mapper.action.prefix.enabled" value="true" />

关于java - 具有多个带有 action 属性的提交标签的 Struts 2.3 表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21234295/

24 4 0