我需要在JSP中输出星期几。显然,我可以这样做:
...
并在特定于区域设置的消息资源文件中包含星期几。但是我注意到有一个类java.text.DateSymbols,其中包含一些实用程序方法,这些实用程序方法将星期几的字符串作为数组输出,该类具有一个构造函数,该构造函数采用语言环境字符串。我尝试使用<jsp:useBean>
使用此功能,但看不到任何简单的设置语言环境的方法-使用<fmt:setLocale>
无效。
我会以错误的方式处理吗?这似乎是一件很普通的事情,而且我看不到这种内置方式。
最佳答案
首先,请记住,根据上下文,星期几可以写为nominative,dative,genitive,...(在其他情况下写)。因此,最好不要直接使用DateFormatSymbols,因为它可能导致国际化缺陷。
将这些名称导出到资源中,然后让翻译人员决定哪种语言最适合他们的语言可能是个好主意。
注意:不要回收这些翻译,因为由于语法原因,它们可能会放在一个地方而在另一个地方是完全不正确的,这又取决于上下文。
如果仍然要使用某些依赖于Locale的类,则需要创建HttpSession并将Locale对象存储到其中。然后,您可以在后端检索它并返回有效的与语言环境相关的信息。
不过,这并不容易。嗯,为什么人们创建诸如Spring Framework,Struts,JSF等之类的原因是有原因的。JSP本身很难使用。