gpt4 book ai didi

java - Struts2 验证重定向操作输入 - FieldErrors 消失了

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:34 25 4
gpt4 key购买 nike

下面是我的拦截器配置:

    <interceptors>
<interceptor-stack name="storeStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
</interceptor-stack>

<interceptor-stack name="retrieveStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
</interceptor-stack>

<interceptor-stack name="appDefaultStack">
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">ERROR</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>

还有我的行动:

    <action name="update/*" class="comics.comics.ComicsAction" method="view">
<interceptor-ref name="retrieveStack" />
<param name="key">{1}</param>
<result>/comics/comics-chapters.jsp</result>
</action>


<action name="add" class="comics.comics.ChapterAction" method="add">
<interceptor-ref name="storeStack" />
<result type="redirectAction">
<param name="parse">true</param>
<param name="key">${key}</param>
<param name="actionName">update</param>
<param name="namespace">/comics</param>
</result>

<result name="input" type="redirectAction">
<param name="parse">true</param>
<param name="key">${key}</param>
<param name="actionName">update</param>
<param name="namespace">/comics</param>
</result>

</action>

在我的 comics-chapters.jsp 页面中,字段错误消失了。但是当我将输入结果更改为:

         <result name="input">/comics/comics-chapters.jsp</result>

显示字段错误。

当我的输入结果是 Action 时,如何显示字段错误?

最佳答案

这是因为当你使用 redirectAction 时,Struts2 正在创建一个新的请求和响应对象,并且会清除值堆栈并将新的请求和响应放入值堆栈中,这样它就会覆盖以前的数据。

这里你有几个选择

  1. 将您的消息存储在操作和 redirectAction 上,您可以从操作中获取它们并将它们显示给用户。
  2. 使用MessageStoreInterceptor

有一个长期未决的范围结果请求,它将能够处理此类用例,但我相信它会出现在 struts-3.x(又名 2.5)版本中。

关于java - Struts2 验证重定向操作输入 - FieldErrors 消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12579967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com