【问题标题】:Preventing Multiple Submits Struts2: Not Showing Success Message防止多次提交 Struts2:不显示成功消息
【发布时间】:2011-09-04 12:07:33
【问题描述】:

我试图阻止在 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>

【问题讨论】:

    标签: java javascript user-interface struts2


    【解决方案1】:

    尝试颠倒拦截器的顺序。

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

    【讨论】:

    • 您好,感谢您的回复。我也试过了,这个解决方案在调试代码时似乎有效,我的意思是动作消息在动作中持续存在。但在正常模式下它不起作用。
    • 为什么会这样...我有一个类似的问题,但我只是想知道为什么您希望 tokenSession 在堆栈顶部而不是底部执行。
    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    相关资源
    最近更新 更多