Play の Scala テンプレートで日付をフォーマットしようとしています。これまでのところ、私はこれを書いています:
<p>@DateFormat.getInstance().format(deadline)</p>
締め切りは、Web ページに出力する日付です。ただし、これはユーザーが選択したロケールではなく、JVM のロケールを使用します。
私のアプリは現在、ノルウェー語 (no) と英語 (en) の 2 つのロケールをサポートしています。これはメッセージには適していますが、Date
s には適していません。そのため、以下に示すように各リクエストを傍受するためにa を追加しようとしましたGlobalSettings
が、明らかに呼び出されませんでした:
import java.lang.reflect.Method;
import java.util.Locale;
import org.springframework.context.i18n.LocaleContext;
import org.springframework.context.i18n.LocaleContextHolder;
import play.GlobalSettings;
import play.i18n.Lang;
import play.mvc.Action;
import play.mvc.Http.Request;
public class Global extends GlobalSettings {
@SuppressWarnings("rawtypes")
@Override
public Action onRequest(final Request request, final Method actionMethod) {
LocaleContextHolder.setLocaleContext(new LocaleContext() {
public Locale getLocale() {
Lang preferred = Lang.preferred(request.acceptLanguages());
return preferred.toLocale();
}
});
return super.onRequest(request, actionMethod);
}
}
誰かがこの問題の解決策を持っていますか? Play の既知のバグですか? バージョン 2.0.4 を使用しています。
ありがとう!