我试图阻止在struts2中提交多个表单。我正在使用tokenSession(TokenSessionStoreInterceptor)。根据其行为,它仅考虑第一个请求并忽略后续提交。这里的问题是,在成功完成请求后,它不会显示操作消息。例如,如果订单创建成功,它将转到正确的视图,但不会显示任何消息,例如在正常情况下创建的订单。有什么指针吗?
这是我的配置:
<action name="createOrder"
class="com.example.OrdersAction" method="createOrder">
<interceptor-ref name="storeStack" />
<interceptor-ref name="tokenSession">
<param name="includeMethods">createOrder</param>
</interceptor-ref>
<result type="tiles" name="input">createOrders</result>
<result type="tiles" name="error">createOrders</result>
<result name="create" type="redirectAction">order</result>
<result name="createAndAdd" type="redirectAction">
</result>
</action>
答案 0 :(得分:0)
尝试颠倒拦截器的顺序。
<action name="createOrder" class="com.example.OrdersAction" method="createOrder">
<interceptor-ref name="tokenSession">
<param name="includeMethods">createOrder</param>
</interceptor-ref>
<interceptor-ref name="storeStack" />
<result type="tiles" name="input">createOrders</result>
<result type="tiles" name="error">createOrders</result>
<result name="create" type="redirectAction">order</result>
<result name="createAndAdd" type="redirectAction"></result>
</action>