元旦假期间,有网友询问jroo是如何实现国际化的,下面将详细说明jroo是如何实现国际化的。
jroo没有采用struts2的国际化方式,没有类似于struts2的properties文件。
jroo的国际化方式,像spring的xml配置、注解配置的方式类似,xml配置集中在xml文件中,注解配置散落在具体的java类。
struts2的国际化信息集中在properties文件中,jroo的国际化信息散落在具体的js、jsp和java文件中。
这两种方式各有利弊,但本人更倾向于散落在具体文件中的方式。本人做过一个大型的项目,必须实现国际化,采用struts2
的properties文件的方式,当时为了实现中英文版,同事们可是头大了,发了太多的牢骚,费了太多的时间和精力。
jroo的国际化方式,目前仅支持两种语言,具体的方式如下:
1、jsp的国际化:
jsp国际化是通过自定义标签来实现的: <my:i18n zhText="" enText=""/>;
上面的自定义标签,在中文环境显示zhText里的数据;在英文环境显示enText里的数据。
该标签可实现一个jsp中所有地方的国际化,除了jsp外部的js。
例子1,显示静态数据:<my:i18n zhText="菜单信息" enText="Menu Info"/>;
例子2,显示来自java或数据库的动态数据:<my:i18n zhText="${user.userName}" enText="${user.enUserName}"/>;
2、外部js的国际化:
建两个js文件:zh_CN.js和en_US.js,里面的内容分别为:
var LocaleData = {
close:"关闭",
dialogOnlineUser:"在线用户",
dialogOnlineChat:"在线聊天",
dialogMessageBoard:"我要留言",
dialogUpdatePassword:"修改密码
}
和
var LocaleData = {
close:"close",
dialogOnlineUser:"Current Online User",
dialogOnlineChat:"Online Chat",
dialogMessageBoard:"I Want To Leave A Message",
dialogUpdatePassword:"Update Password"
}
在中文环境加载第zh_CN.js,在英文环境加载第en_US.js。
在外部其他js或jsp中,通过js方法$.i18n("key")来调用。
如$.i18n("close"),中文环境下显示“关闭”,英文环境显示“close”。
3、java中的国际化:
通过方法:LocaleUtils.getLocaleText(zhText, enText),中文环境显示zhText的数据,英文环境显示enText的数据。
如:LocaleUtils.getLocaleText("用户姓名", "userName")。
分享到:
相关推荐
【描述】"springmvc整合hibernate,jbpm实现快速开发办公系统"指出,此项目通过集成SpringMVC和Hibernate,实现了数据访问层和业务逻辑层的高效协作,提高了开发效率。同时,利用jBPM的流程管理能力,使得OA系统能够...
OA(Office Automation)管理系统是一种基于信息技术的业务流程自动化工具,旨在提高组织的工作效率,减少冗余操作,并实现信息的有效共享。在这个"OA管理系统"项目中,我们看到它使用了SSH框架进行开发,这是一个...
这个系统旨在实现基础的办公自动化(Office Automation, OA)功能,帮助用户提升工作效率,简化日常办公流程。在这个项目中,程序员可以深入理解OA系统的架构、数据管理以及工作流引擎等关键组件。 OA系统的核心...
springmvc整合hibernate,jbpm实现快速开发办公系统 运行环境 jdk6+tomcat6+mysql+eclipse 项目技术(必填) spring mvc+hibernate+jbpm+jsp 数据库文件 压缩包sql/jroo.sql jar包文件 链接: ...
在压缩包中的"jroo"文件可能指的是Apache J Roo工具,这是一个轻量级的Java开发工具,可以帮助快速生成SSH或其他Java EE项目的代码,包括实体类、DAO、Service以及相关的Struts2动作类。通过J Roo,开发者可以提高...