ftm国际化解决方案
记录一下踩过的坑,在使用ftm:message的时候我发现这个的国际化是依赖于本地浏览器的语言环境的!关于自主设置这个语言的方法有如下3种:(个人建议使用第二种,可以更加灵活且有效!第一种我这边没有生效)
本文为归纳整理,原出处来自(非常感谢原作者):https://viralpatel.net/blogs/update-jstl-locale/
一:使用 <fmt:setLocale>
使用setLocale 标签设置默认的local,例如:
在当前jsp页面添加如下设置:
<fmt:setLocale value="en_US"/>
设置全局的local,使其在所有的页面生效,例如:
<fmt:setLocale value="en_US" scope="session"/>
二:如果要在servlet/controller中以编程方式设置JSTL区域设置,请使用javax.servlet.jst.jstl.core.config类进行设置。
具体的使用方式:
Config.set( session, Config.FMT_LOCALE, new Locale("zh","CN") )
请根据自己需要的语言进行修改(此处new的Locale为java.util.Locale)
三:使用servlet上下文参数的全局设置
通过传递servlet内容参数在全局级别设置区域设置:
<web-app>
<context-param>
<param-name> javax.servlet.jsp.jstl.fmt.locale </param-name>
<param-value> en_US </param-value>
</context-param>
...
</web-app>
这种方式的不好之处是不够灵活,不便于动态的修改。