我想在播放Scala模板中格式化日期。到目前为止,我已经写到:播放2.0日期格式
<p>@DateFormat.getInstance().format(deadline)</p>
其中截止日期是我输出到网页的日期。但是,这使用JVM的语言环境,而不是用户选择的语言环境。
我的应用程序目前支持两种语言环境,挪威语(不)和英语(en)。这适用于消息,但不适用于Date
s。于是,我就加入了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版本。
谢谢!
太棒了!谢谢! –