修改Struts2 s:token标记返回的标记

时间:2015-04-23 19:37:37

标签: struts2 jsp-tags

在Struts 2 webapp(也使用Spring)中, 我想修改<s:token>标记的"output"以使用我自己的令牌生成算法。

<s:token>标记似乎由名为org.apache.struts2.components.Token的类处理,该类为UIBean。是否有使用Struts或Spring的标准方法,我可以通过它“扩展”或“修改”或替换Token类,或者它用于生成标记的方法?

或者,我可以编写自己的<mytoken>标签,该标签适用于Struts 2吗?

1 个答案:

答案 0 :(得分:2)

目前在最新的S2版2.3.20中,没有简单的方法可以做到这一点。负责生成令牌的TokenHelper类是一个带有静态方法的简单实用程序类。

最好使用自己的自定义令牌解决方案。你需要一个能够处理令牌的拦截器以及将令牌放入JSP的东西。为此,您可以创建自定义标记,或者只使用隐藏的输入,该输入在基本操作中调用某些方法。

注意:execAndWait拦截器也使用TokenHelper,因此如果您使用的是execAndWait,则还需要更改它。