struts2 xml中的动态全局结果

struts2 xml中的动态全局结果,struts2,Struts2,我需要的是在struts.xml中有一个全局结果,为要重定向到的操作提供动态值。 像 ${customValue} / 这个customResult是从我的一个拦截器返回的。customValue是具有getter和setter的同一拦截器的成员 我知道特定于操作的结果可以包含动态值,只要动态参数should在特定操作的execute方法中获得其赋值。并且,该动态参数应该是该动作类的成员 因为在全局结果中需要它,所以我将动态参数设置为interceptop的成员

我需要的是在struts.xml中有一个全局结果,为要重定向到的操作提供动态值。 像


${customValue}
/               
这个customResult是从我的一个拦截器返回的。customValue是具有getter和setter的同一拦截器的成员

我知道特定于操作的结果可以包含动态值,只要动态参数should在特定操作的execute方法中获得其赋值。并且,该动态参数应该是该动作类的成员

因为在全局结果中需要它,所以我将动态参数设置为interceptop的成员,并在其中返回特定的全局结果。但是,此${customValue}在重定向时未获取值。它会被重定向到localhost:9080/myapp/.action


请建议

将操作属性放入值堆栈,这就是为什么当您在配置中有表达式(如
${customValue}
)时,将使用适当的getter检索值。为了在拦截器内实现相同的行为,可以将所需的值直接放入值堆栈中。可以从
调用上下文
检索值堆栈

invocation.getInvocationContext().getValueStack()
              .set("customValue", "some_action");

+第一个问题很好,欢迎大家提问。
invocation.getInvocationContext().getValueStack()
              .set("customValue", "some_action");