是否可以为整个struts webapp配置统一格式的日期格式?

无论如何id get exception Could not parse date

日期格式有统一的公司标准 – 'dd/MM/yyyy'

有些计算机具有不同的系统区域设置。 我正在为datepicker使用jQueryUI(它是小部件的标准,并且已经解决了css样式以匹配应用程序主题)。

开始时,我没有找到更好的解决方案,然后使用SimpleDateFormat对象手动将日期字符串转换为日期对象。 现在我有转换器类,但仍然需要配置每个具有java.util.Date属性的Action。

我正在使用XML配置,我确实尝试添加到struts.xml

  

它没用。

是否有任何可以强制所有Web应用程序使用单一日期格式而没有区域设置只是输出和输入日期的统一格式?

或者我如何提取struts日期类型转换器所期望的日期格式的方式,所以我可以使用js转换日期之前发送到服务器以匹配struts期望?

Struts2的设计根据客户端请求的区域设置而有所不同。

i18n拦截器是默认拦截器堆栈的成员。 因此,它负责将请求的区域设置设置为操作上下文,从而覆盖默认设置。 如果请求参数未请求语言环境,它还会将该语言环境存储到会话中以进一步检索它。

操作上下文的语言环境由默认类型转换器使用,因此将语言环境设置为操作上下文应该可以覆盖可以通过struts.locale配置的默认语言环境设置,而i18n拦截器不会更改此设置。

如果是这样,则不需要其他操作,只需根据该语言环境将日期格式设置为全局资源属性即可。 您还可以使用可能与i18n请求的区域设置一起使用的操作属性,这些区域设置由于处理本地化资源的顺序而具有不同的格式。

如果您不需要用户切换语言环境的可能性,则应从堆栈中删除i18n拦截器。

如何使用操作上下文的区域设置格式化日期和数字 : 格式化日期和数字 。