TomcatでLocaleを指定する方法
海外向けのプロジェクトでTomcatに対しLocaleを指定して、日付の表示方法等を確認したい場合、以下の方法を行います。
(Tomcat4.1の場合)
Catalina.batに以下の定義を付加する。 set JAVA_OPTS=-Duser.language=en
以下はテストで使用したコードです。
public void doPost( HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException { context.log("--- TestServlet doPost start ---"); res.setContentType("text/html"); PrintWriter pw = res.getWriter(); pw.println("<HTML>"); pw.println(" <HEAD>"); pw.println(" <TITLE>testservlet new</TITLE>"); pw.println(" </HEAD>"); pw.println(" <BODY>"); pw.println("locale:"); pw.println(req.getLocale().toString()); pw.println("<br>"); pw.println("locale:"); pw.println(getNow()); pw.println("<br>"); pw.println(" </BODY>"); pw.println("</HTML>"); pw.flush(); pw.close(); context.log("--- TestServlet doPost end ---"); } private String getNow(){ DateFormat dateFormat = new SimpleDateFormat("yyyy/MMM/dd"); return dateFormat.format(new Date()); }
結果は、
locale: ja locale: 2005/Feb/11
日付表示のみ定義したLocaleが適用されました。
もう少し調べる必要があるな。。
あと
Tomcat5から実装されている模様。