Struts2:国际化s:约会?

时间:2013-01-10 09:22:03

标签: struts2 internationalization

<s:date name="mydate" format="dd/MM/yyyy HH:mm" />完美地将我的日期与法国标准相提并论。 但它在我的jsp中很难写。所以我必须根据语言环境构建if子句。

有没有办法将此格式设置为常规属性文件?

我试过了:

format.date = {0,date,dd/MM/yyyy}
format.time = {0,time,HH:mm}

放入我的全局.properties,但是在我尝试<s:date name="mydate"><s:property value="mydate"/>时没有考虑到它。

2 个答案:

答案 0 :(得分:2)

在属性文件中创建本地化日期格式,例如使用struts.date.format键:

struts.date.format = dd.MM.yyyy

并使用getText方法在<s:date>代码format属性中获取此日期格式:

<s:date name="date" format="%{getText('struts.datetime.format')}"/>

答案 1 :(得分:0)

绝对。国际化(i18n)几乎在每个框架中都是开箱即用的,然后最好花时间了解如何使其工作,而不是编写一些不需要的,错误的自定义解决方案。

使用Struts2,您必须确保:

  • 拦截器堆栈中的I18nInterceptor;
  • 在struts.xml中定义的I18nInterceptor:<constant name="struts.custom.i18n.resources" value="global" />;
  • 您要处理的每个区域设置的本地化,正确命名的global.properties文件;
  • 调用您的操作时request _ locale`参数(如果您没有更改浏览器中的语言),使I18nInterceptor能够将请求劫持到正确的资源;
  • 您网页上的相应字符编码:<%@ page contentType=”text/html;charset=UTF-8″ %>

请查看网络上提供的指南:

  

http://www.mkyong.com/struts2/struts-2-i18n-or-localization-example/

     

http://www.2bloggers.com/2011/12/localization-i18n-in-struts2.html

     

http://www.roseindia.net/struts/struts/struts2.2.1/tags/i18ntag.html

     

http://www.roseindia.net/struts/strutsinternationalization.shtml

     

http://www.roseindia.net/tutorials/I18N/internationalison-code.shtml