カスタムコンバータと既存のコンバータ
DateTimeConverter.java import java.util.TimeZone; public class DateTimeConverter extends javax.faces.convert.DateTimeConverter { public static final String CONVERTER_ID =xxx.xxxx.xxxxx.DateTimeConverter.class.getName(); public DateTimeConverter() { setTimeZone(TimeZone.getDefault()); } }
こんなカスタムコンバータ作ってみました。
xxx.xxxx.xxxxxはパッケージ名。
で、faces-configにも
<h:outputText value="#{entry.time}" converter="getDefaultTime" />
こーするとキチンとタイムゾーンが修正されて出力されます。
がっ
<h:outputText value="#{entry.time}" converter="getDefaultTime" > <f:convertDateTime dateStyle="short" pattern="yyyy年MM月dd日" /> </h:outputText>
出力用パターンのため既存のコンバータと併用すると
GMTに戻ってやがるorz
そんなわけで毎回timeZone="Asia/Tokyo"を指定することに…。
faces-configの
最初はできそうな気がしたんだけどなあ。