ThreadLocal与参数传递(转载)
最近同事想通过⾃定义函数来输出国际化⽂字。⽐如: ${my:i18n('login.userid')}.
EL⽀持我们⾃定义这样的函数,问题是这个函数没法获取request对象,不知道当前页⾯的语⾔。
由此我想到threadlocal也许可以解决这个问题。
我的思路是做⼀个filter,每次都把request引⽤保存在⼀个threadlocal变量⾥。然后在上述的i18n⾃定义函数⾥读取这个threadlocal变量,得到request。 代码如下:
1 定义⼀个类读写threadlocal变量public class ThreadAttributes {
private static ThreadLocal