如何实现JSP的多语言切换?

时间:2023-01-26 04:25:13
如何实现JSP的多语言切换?我是指通过在页面选择语言后,页面显示的语言随之发生改变。

13 个解决方案

#1


我觉得没必要搞的那么麻烦嘛,只要设置jsp的编码为utf-8就ok了!

#2


看看java的国际化

#3


i18n struts1,2都提供相应支持

#5


非常感谢各位的回复,请问使用JSTL如何实现呢?

#6


没有人熟悉JSTL?

#7


多语言国际化其实是两个概念

一个是页面固定部分的国际化  这个很简单 一些框架包括jstl 本身也实现了国际化

另外一个是出了页面固定部分的国际化外,还包括数据库数据的国际化。

终极解决方案是,一套程序+多套国际化资源配置文件+多套语言数据库

当然,表里的数据可以添加lang字段来区分,不过只适合小系统.

你说的仅仅是页面固定部分的国际化,不包括动态数据的国家话吧 看看jstl本身或者其他mvc框架
都提供了很好的 i18n 支持


#8


引用 7 楼 magicluo 的回复:
多语言国际化其实是两个概念

一个是页面固定部分的国际化  这个很简单 一些框架包括jstl 本身也实现了国际化

另外一个是出了页面固定部分的国际化外,还包括数据库数据的国际化。

终极解决方案是,一套程序+多套国际化资源配置文件+多套语言数据库

当然,表里的数据可以添加lang字段来区分,不过只适合小系统.

你说的仅仅是页面固定部分的国际化,不包括动态数据的国家话吧 ……


同上

#9


引用 7 楼 magicluo 的回复:
多语言国际化其实是两个概念

一个是页面固定部分的国际化 这个很简单 一些框架包括jstl 本身也实现了国际化

另外一个是出了页面固定部分的国际化外,还包括数据库数据的国际化。

终极解决方案是,一套程序+多套国际化资源配置文件+多套语言数据库

当然,表里的数据可以添加lang字段来区分,不过只适合小系统.

你说的仅仅是页面固定部分的国际化,不包括动态数据的国家话吧 看看……


对不起,你说的是本地化。我只是需要知道一个技术细节而已。

#10


可以使用jstl中的国际化使用jstl中<fmt>标签就可以非常简单的实现!

#11


引用 10 楼 shishuaijun 的回复:
可以使用jstl中的国际化使用jstl中<fmt>标签就可以非常简单的实现!


我现在的问题其实是fmt:setLocale的value不让用表达式,好像只能用常量。

#12


Struts1标签的国际化

#13


引用 11 楼 ishallwin 的回复:
引用 10 楼 shishuaijun 的回复:
可以使用jstl中的国际化使用jstl中<fmt>标签就可以非常简单的实现!


我现在的问题其实是fmt:setLocale的value不让用表达式,好像只能用常量。

没有引用
fmt:setLocale中的value应该放的是zh-CN这样的ISO码,而不是Locale对象(也没法放)

所以你User对象的locale属性类型为String就行

另外过滤器没有改变session中user的locale属性的值

#1


我觉得没必要搞的那么麻烦嘛,只要设置jsp的编码为utf-8就ok了!

#2


看看java的国际化

#3


i18n struts1,2都提供相应支持

#4


#5


非常感谢各位的回复,请问使用JSTL如何实现呢?

#6


没有人熟悉JSTL?

#7


多语言国际化其实是两个概念

一个是页面固定部分的国际化  这个很简单 一些框架包括jstl 本身也实现了国际化

另外一个是出了页面固定部分的国际化外,还包括数据库数据的国际化。

终极解决方案是,一套程序+多套国际化资源配置文件+多套语言数据库

当然,表里的数据可以添加lang字段来区分,不过只适合小系统.

你说的仅仅是页面固定部分的国际化,不包括动态数据的国家话吧 看看jstl本身或者其他mvc框架
都提供了很好的 i18n 支持


#8


引用 7 楼 magicluo 的回复:
多语言国际化其实是两个概念

一个是页面固定部分的国际化  这个很简单 一些框架包括jstl 本身也实现了国际化

另外一个是出了页面固定部分的国际化外,还包括数据库数据的国际化。

终极解决方案是,一套程序+多套国际化资源配置文件+多套语言数据库

当然,表里的数据可以添加lang字段来区分,不过只适合小系统.

你说的仅仅是页面固定部分的国际化,不包括动态数据的国家话吧 ……


同上

#9


引用 7 楼 magicluo 的回复:
多语言国际化其实是两个概念

一个是页面固定部分的国际化 这个很简单 一些框架包括jstl 本身也实现了国际化

另外一个是出了页面固定部分的国际化外,还包括数据库数据的国际化。

终极解决方案是,一套程序+多套国际化资源配置文件+多套语言数据库

当然,表里的数据可以添加lang字段来区分,不过只适合小系统.

你说的仅仅是页面固定部分的国际化,不包括动态数据的国家话吧 看看……


对不起,你说的是本地化。我只是需要知道一个技术细节而已。

#10


可以使用jstl中的国际化使用jstl中<fmt>标签就可以非常简单的实现!

#11


引用 10 楼 shishuaijun 的回复:
可以使用jstl中的国际化使用jstl中<fmt>标签就可以非常简单的实现!


我现在的问题其实是fmt:setLocale的value不让用表达式,好像只能用常量。

#12


Struts1标签的国际化

#13


引用 11 楼 ishallwin 的回复:
引用 10 楼 shishuaijun 的回复:
可以使用jstl中的国际化使用jstl中<fmt>标签就可以非常简单的实现!


我现在的问题其实是fmt:setLocale的value不让用表达式,好像只能用常量。

没有引用
fmt:setLocale中的value应该放的是zh-CN这样的ISO码,而不是Locale对象(也没法放)

所以你User对象的locale属性类型为String就行

另外过滤器没有改变session中user的locale属性的值