我在wicket 1.4.9
中使用了configureResponse()protected void configureResponse() {
super.configureResponse();
WebResponse response = getWebRequestCycle().getWebResponse();
response.setHeader("Cache-Control", "no-cache, max-age=0,must-revalidate, no-store");
response.setHeader("Expires", "-1");
response.setHeader("Pragma", "no-cache");
response.setCharacterEncoding("text/html; charset=utf-8");
response.setLocale(new Locale(Constants.USER_LANG_PREF_ENG));
}
所以现在在wicket 6中删除了configureResponse()并将它们替换为configureResponse(WebResponse响应),所以我尝试使用此方法编写上面的代码,如下所示,
@Override
protected void configureResponse(WebResponse response) {
// TODO Auto-generated method stub
super.configureResponse(response);
response.setHeader("Cache-Control", "no-cache, max-age=0,must-revalidate, no-store");
response.setHeader("Expires", "-1");
response.setHeader("Pragma", "no-cache");
final String encoding = "text/html" + getMarkupType() + "; charset=utf-8";
response.setContentType(encoding);
final Locale originalLocale = getSession().getLocale();
getSession().setLocale(new Locale(Constants.USER_LANG_PREF_ENG));
}
有人可以告诉我,这段代码与之前的代码一样,或者我需要再修改一次吗?
答案 0 :(得分:1)
它几乎是一样的,但你真的不需要它,因为这就是Wicket无论如何都会为你做的。
检查super.configureResponse(response);
和org.apache.wicket.markup.html.WebPage#setHeaders(WebResponse)
。
除此之外:
originalLocale
未使用YourApplication#newSession()