在Struts 2 webapp(也使用Spring)中,
我想修改<s:token>
标记的"output"
以使用我自己的令牌生成算法。
<s:token>
标记似乎由名为org.apache.struts2.components.Token
的类处理,该类为UIBean
。是否有使用Struts或Spring的标准方法,我可以通过它“扩展”或“修改”或替换Token
类,或者它用于生成标记的方法?
或者,我可以编写自己的<mytoken>
标签,该标签适用于Struts 2吗?
答案 0 :(得分:2)
目前在最新的S2版2.3.20
中,没有简单的方法可以做到这一点。负责生成令牌的TokenHelper
类是一个带有静态方法的简单实用程序类。
最好使用自己的自定义令牌解决方案。你需要一个能够处理令牌的拦截器以及将令牌放入JSP的东西。为此,您可以创建自定义标记,或者只使用隐藏的输入,该输入在基本操作中调用某些方法。
注意:execAndWait
拦截器也使用TokenHelper
,因此如果您使用的是execAndWait
,则还需要更改它。