struts2 radio标签国际化问题

yuanzi 2009-07-15 12:53:55
在radio标签中:
<s:radio name="sex" list="#{'0':'male','1':'female'}"/>
我想实现对male的国际化,我中文资源文件中定义了key为page.user.sex.male=男,在英文中定义了 page.user.sex.male=male

我该如何在radio标签中实现这个国际化?

我现在的解决办法是在Action中定义一个hashmap,然后
Map s = new HashMap();
s.put("0",getText("page.user.sex.male"));
s.put("1",getText("page.user.sex.female"));
request.setAttribute("SEXTEST", s);

然后在页面中:
<s:radio name="sextest" list="#request.SEXTEST"/>

这样的话,显示的顺序好像没法控制,并且觉得好麻烦~
...全文
381 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shokang 2009-07-27
  • 打赏
  • 举报
回复
多谢你的正解,我也试了很长时间,都没试出来,看到你的正解,我太感谢你了
yuanzi 2009-07-19
  • 打赏
  • 举报
回复
在radio标签中:
<s:radio name="sex" list="#{'0':getText('page.user.sex.male'),'1':getText('page.user.sex.female')}"/>

FT,刚用土办法实现,结果又找到了正解~!
yuanzi 2009-07-19
  • 打赏
  • 举报
回复
多谢各位,在Request中设置值比较麻烦,所以还是直接在页面上不用这个标签,直接用<input type="radio" value="">这种模式。
paulexcellent 2009-07-15
  • 打赏
  • 举报
回复
HashMap是无序的,可以使用ArrayList存储
sangshusen_1988 2009-07-15
  • 打赏
  • 举报
回复
或者LinkedHashMap
yuanzi 2009-07-15
  • 打赏
  • 举报
回复
用ArrayList的话,value和label都是一样的吧。
在Action中:
List ls = new ArrayList();
ls.add(getText("page.user.sex.male"));
ls.add(getText("page.user.sex.female"));
request.setAttribute("SEXTEST", ls);
然后在页面中:
<s:radio name="sextest" list="#request.SEXTEST"/>

执行出来的结果为:
<input type="radio" name="sextest" id="sextest男" value="男"/><label for="sextest男">男</label>
<input type="radio" name="sextest" id="sextest女" value="女"/><label for="sextest女">女</label>

我期望value是0,label是男。


  • 打赏
  • 举报
回复
ArrayList 用的普遍些
Study_Work_2009 2009-07-15
  • 打赏
  • 举报
回复
同意1楼的说话

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧