struts2中使用generator标签取得resource bundle里的值

有如下的场景:
    画面上要求能显示多国语言文字,有一个下拉框,存储职位信息。
实现方法:
    1.根据struts中对国际化的要求,创建多个资源文件,分别保存不同语言的职位信息;
        比如在Action包下创建类级别的资源文件,XXXAction_en_US.properties,XXXAction_zh_CN.properties,etc,

        在每个资源文件中定义不同语言的职位信息:
        中文(key.position.list=经理,总管,技术人员)
        英文(key.position.list=Manager,Director,Technician)
    2.在jsp中利用generator标签取得资源文件里的职位信息,按照separator定义的分隔符解析取得数组对象;
    3.再用s:select标签将该职位信息用下拉框的方式显示出来;
    这样,不用写一句java代码,只需使用generator标签就能实现画面下拉框的效果,且支持多国语言显示,代码非常简介。
标签使用的例子:
    <s:generator id="positions" separator="," val="%{getText('key.position.list')}">
        <s:select name="form.subscriber.position" list="positions" headerKey="-1" headerValue="%{getText('key.position.header')}" /    
        <s:fielderror fieldName="form.subscriber.position" />
    </s:generator>
说明:
    generator里的id定义个名字用于在select中被引用,separator定义分隔符,val里用ognl取得资源文件里定义的职位信息;
    select里的name值是在Action类里定义的属性,用于接收画面选中的职位,list值就是generator标签里的id,headerKey,headerValue分别定义下拉框的首选项;
    fielderror用于画面上没有选择任一下拉框值时的错误消息显示;
注意:
    s:select标签一定要出现在s:generator标签里。



posted on 2009-12-26 09:17 koradji 阅读(1924) 评论(0)  编辑  收藏 所属分类: Web Development


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

db2

dos

Groovy

Hibernate

java

WAS

web application

搜索

最新评论

阅读排行榜

评论排行榜