1

<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 但没有考虑到,我只尝试 a<s:date name="mydate">或 a <s:property value="mydate"/>

4

2 回答 2

2

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

struts.date.format = dd.MM.yyyy

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

<s:date name="date" format="%{getText('struts.datetime.format')}"/>
于 2013-01-10T20:09:10.743 回答
0

绝对地。国际化(i18n)在几乎所有框架中都是开箱即用的,因此最好花时间了解如何使其工作,而不是编写一些无用的、有缺陷的自定义解决方案。

使用 Struts2,您必须确保:

  • 拦截器堆栈中的 I18nInterceptor;
  • 在 struts.xml 中定义的 I18nInterceptor: <constant name="struts.custom.i18n.resources" value="global" />;
  • 您要处理的每个语言环境的本地化、正确命名的 global.properties 文件;
  • 调用 Actions 时的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

于 2013-01-10T11:23:27.380 回答