我读Struts2的行动,并表示,如果拦截乙拦截一个,并乙后火灾判定:控制不应该被允许去行动(因为可能有验证错误如DefaultWorkFLowInterceptor所做的那样)。然后它返回“输入”..页面呈现给用户。该控制然后返回到拦截器A,但A现在不能修改结果,因为该页面已被发送到客户端。为什么Struts 2拦截器不能修改后续拦截器生成的'result'页面?
,但由于拦截乙回报只是一个字符串,拦截一个可以简单地返回它的位置另一个字符串,并将结果的变化。 DefaultWorkFLowInterceptor只返回一个字符串,它实际上并没有向响应流写任何东西,所以当控制返回到它的前面的拦截器时,他们为什么不能改变输入?
我想在这里提出一个小修正。拦截器可以在执行动作之前[和/或]之前执行。需要后处理的拦截器只能以相反的顺序调用,并不是所有的拦截器都不会参与。请检查你的第二点。 – 2012-03-30 13:21:53
@MohanaRaoSV:同意,这是关于我们配置的拦截器堆栈,以及我如何解释S2通过拦截器层的通用流程,以及它们在过程中实际做了什么 – 2012-04-02 02:17:48