2010年9月18日土曜日

Google App Engine for JavaとSlim3でデフォルトのTimeZoneを指定する。その2

何とか実装を楽にしようというか、
POJOを目指して今だ試行錯誤中という感じ。
前回のweb.xmlと下記のコードで動作を確認してみた。

IndexController.java
package test.controller;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.slim3.controller.Controller;
import org.slim3.controller.Navigation;
import org.slim3.util.DateUtil;
import org.slim3.util.TimeZoneLocator;

public class IndexController extends Controller {

 @Override
 public Navigation run() throws Exception {
  requestScope("timeZone", TimeZoneLocator.get().getID());
  Date date = new Date();
  String pattern = "yyyy/MM/dd HH:mm:ss zZ";
  requestScope("now1", DateUtil.toString(date, pattern));
  SimpleDateFormat sdf = new SimpleDateFormat(pattern);
  requestScope("now2", sdf.format(date));
  return forward("index.jsp");
 }
}

JSPは割愛。
リクエストスコープにセットした変数をそのまま表示するとこんな感じ。



同じような事をしたい人がいて、比嘉さんが案を提示しています。

Google Group Google App Engine for Java
Set the Timezone

あとはやっぱり自前で用意しちゃうとか。

BLUEBERRY STREAM
LocaleとかTimeZoneとか その2

Slim3使ってるなら大人しくorg.slim3.util.DateUtil使っとけって感じな気がしてきた。

0 件のコメント:

コメントを投稿