如何向拦截器或Validator传入参数? 400 报错
@JFinal 你好,又要麻烦您了:
现在有个疑问,在Controller中如何向拦截器或者是Validator传入一个特定的参数呢?现在的用法都是
@Before(XXXValidator.class)我现在想做一个通用的token的验证,但是每个验证中的token名称是不同的,如果对每一个token验证都要写一个Validator的话,不太好看也麻烦。我用的DWZ,因为用户有可能打开多个navTab,如果这些页面采用相同名称的token,用统一的tokenValidator验证的话就会出错,因为后打开的页面会把旧页面的token覆盖。如果采用不同的token名称,又不能使用统一的Validator进行验证。
所有我再想,有没有什么办法能向拦截器或Validator传递一个或多个参数,比如需求中的token名称。另外采用中相同拦截器的Controller所用的拦截器(即XXX.class)是同一个实例吗?
暂时先介绍两个办法:
1:在页面的表单中,或者 url 中将token 传递给 validator,然后在 validator 中读取。
2:将 actionKey 与 tokenName 建立映射关系,在 validator 中通过 getActionKey() 就能得到 tokenName
传参给Valicator或Interceptor都可以通过表单域、urlPara、url中问号挂参、cookie、setAttr、session等方式。
拦截器是全局共享的,所以是一个实例,但 PrototypeInterceptor 可以改变这个行为。Validator是线程安全的,非全局共享
######暂时先介绍两个办法:
1:在页面的表单中,或者 url 中将token 传递给 validator,然后在 validator 中读取。
2:将 actionKey 与 tokenName 建立映射关系,在 validator 中通过 getActionKey() 就能得到 tokenName
传参给Valicator或Interceptor都可以通过表单域、urlPara、url中问号挂参、cookie、setAttr、session等方式。
拦截器是全局共享的,所以是一个实例,但 PrototypeInterceptor 可以改变这个行为。Validator是线程安全的,非全局共享
暂时先介绍两个办法:
1:在页面的表单中,或者 url 中将token 传递给 validator,然后在 validator 中读取。
2:将 actionKey 与 tokenName 建立映射关系,在 validator 中通过 getActionKey() 就能得到 tokenName
传参给Valicator或Interceptor都可以通过表单域、urlPara、url中问号挂参、cookie、setAttr、session等方式。
拦截器是全局共享的,所以是一个实例,但 PrototypeInterceptor 可以改变这个行为。Validator是线程安全的,非全局共享
暂时先介绍两个办法:
1:在页面的表单中,或者 url 中将token 传递给 validator,然后在 validator 中读取。
2:将 actionKey 与 tokenName 建立映射关系,在 validator 中通过 getActionKey() 就能得到 tokenName
传参给Valicator或Interceptor都可以通过表单域、urlPara、url中问号挂参、cookie、setAttr、session等方式。
拦截器是全局共享的,所以是一个实例,但 PrototypeInterceptor 可以改变这个行为。Validator是线程安全的,非全局共享
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。