国际化(I18N)以 ireport3.7.6为例
国际化,又称I18N,因为国际化的英文是Internationalization,它以I开头,以N结尾,中间共18个字母。 Jasprereports通过ResourceBundle类支持I18N。
在ireport中如何配制支持I18N?
我们新建一个国际化文件:名为iReport_zh_CN.properties
里面内容为:
##/u5f02/u5e38/u5904/u7406/u7684/u56fd/u9645/u5316
#/u62a5/u8868ireport/u56fd/u9645/u5316
i_report.sequence=/u5e8f/u53f7 -- i_report.report=/u62a5/u8868
然后在我们新建的报表中属性中
如图
more..中一项
Resource bundle属性引用国际化文件名iReport_zh_CN
When Resource Missing Type :当国际化文件丢失时 使用的情况 默认为NULL
以上操作即配制好了ireport支持i18n。
如何调用显示属性文件内容? 在报表的任何一个区域都可以调用属性文件显示内容。 调用语法:$R{key} 或 str(key) 例:如要调用上面所配制的属性,使用 $R{i18n} 或 str(“i18n”) 格式化消息使用msg(pattern, arg1) 例:msg(”my name is {0}.”,”zhannggle”) 则输出:my name is zhanngle. msg()有三个重载方式,msg(pattern,arg1), msg(pattern,arg1,arg1), msg(pattern,arg1,arg1,arg1) 区别就是参数不同而已,底层是通过MessageFormat.format(pattern,arguments)实现的。 使用属性文件格式化消息。 例有一属性文件定义如下: a=jasperreports b=ireport hi=hello {0},hello {1}! 我们可以使用以下表达式显示消息 msg(str(“hi”),str(“a”),str(“b”)) 输出:hello jasperreports,hello ireport! 在web开发中如何存放属性文件? 将属性文件存放到WEB-INF/classes目录下,jasprereports会去这个目录搜索它。 提示:只要配制好ireport支持I18N,就可以到报表文件存放目录找到自动生成好的属性文件,将它们拷到WEB-INF/classes目录下就可以了。当前目录下就可以了。 |