9月21
我们在HttpServletRequest中我们可以通过getLocale()得到用户请求的locale,但是如果你希望手动改变用户的locale设置的话却没有setLocale方法,那么有什么办法来改变request的locale设置吗呢?
答案是可以写一个HttpServletRequestWrapper,通过其中的getLocale()方法和getLocales()方法来改变用户请求的locale设置。首先我们来写一个这样的类:
我们可以看到在getLocale()方法中我们得到request参数中的locale的值(想想用户请求的地址是http://www.hecks.tk?locale=zh_CN)。之后我们需要写一个filter,并使用LocaleRequestWrapper:
可以看到,在其中的doFilter()方法中,如果请求的参数中含有locale的值,那么我们就会使用这个刚才设定的LocaleRequestWrapper。
写好Java代码之后,为了让我们的Filter能够生效,还需要在web.xml中配置对应的filter和filter-mapping:
来源:Heck's Blog
地址:https://www.heckjj.com/filter-locale-httpservletrequest/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!

答案是可以写一个HttpServletRequestWrapper,通过其中的getLocale()方法和getLocales()方法来改变用户请求的locale设置。首先我们来写一个这样的类:
我们可以看到在getLocale()方法中我们得到request参数中的locale的值(想想用户请求的地址是http://www.hecks.tk?locale=zh_CN)。之后我们需要写一个filter,并使用LocaleRequestWrapper:
可以看到,在其中的doFilter()方法中,如果请求的参数中含有locale的值,那么我们就会使用这个刚才设定的LocaleRequestWrapper。
写好Java代码之后,为了让我们的Filter能够生效,还需要在web.xml中配置对应的filter和filter-mapping:
来源:Heck's Blog
地址:https://www.heckjj.com/filter-locale-httpservletrequest/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
Java程序中内存溢出的
JSF向方法传递参数



