Java TokenHelper-找不到映射到令牌名称struts.token的令牌
如果我添加Java TokenHelper-找不到映射到令牌名称struts.token的令牌,java,multithreading,struts2,token,struts2-interceptors,Java,Multithreading,Struts2,Token,Struts2 Interceptors,如果我添加“execAndWait”拦截器,它会给出上述错误: TokenHelper - Could not find token mapped to token name struts.token 配置: <action name="flightsearch" method="getFlightResult" class="com.test.FlightSearchAction"> <interceptor-ref name="execAndWait"&
“execAndWait”
拦截器,它会给出上述错误:
TokenHelper - Could not find token mapped to token name struts.token
配置:
<action name="flightsearch" method="getFlightResult"
class="com.test.FlightSearchAction">
<interceptor-ref name="execAndWait">
<param name="delay">500</param>
<param name="delaySleepInterval">500</param>
</interceptor-ref>
<!-- <interceptor-ref name="token">
<param name="excludeMethods">getFlightResult</param>
</interceptor-ref> -->
<result name="wait" type="tiles">flightwait</result>
<result name="success" type="tiles">flightsearchresult</result>
</action>
<interceptors>
<interceptor-stack name="tokenCheck">
<interceptor-ref name="token" />
<interceptor-ref name="defaultStack" />
<interceptor-ref name="basicStackHibernate" />
</interceptor-stack>
<interceptor-stack name="loggingRequired">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="basicStackHibernate" />
</interceptor-stack>
</interceptors>
500
500
飞行等候
flightsearchresult
正如我所读到的,有人说这是一个警告,我们可以通过更改
TokenHelper
类来避免它。如果是,如何执行此操作?仅当ActionContext
包含参数token
时,才会出现此警告。在execAndWait
拦截器之前删除此参数
ActionContext.getContext().getParameters().remove("token");
顺便说一句,execAndWait
拦截器应该在completeStack
之后启动。比如说
<action name="someAction" class="com.examples.SomeAction">
<interceptor-ref name="completeStack"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">wait.jsp</result>
<result name="success">success.jsp</result>
</action>
wait.jsp
success.jsp
你好,谢谢你的回答。添加完整的堆栈很好,但是我们是否会得到“ActionContext.getContext()”的非空结果。下面链接的重要部分说我们必须使用sessionaware。如果你想访问会话,但我不想访问会话,这不是在这种情况下吗。