Wicket 6.x 或 7.x 中的 configureResponse()
configureResponse() in Wicket 6.x or 7.x
我在 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 response),所以我尝试使用如下所示的方法编写上面的代码,
@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));
}
谁能告诉我,这段代码与之前的代码一样有效,还是我需要再次修改?
它几乎是一样的,但你并不真的需要它,因为这是 Wicket 无论如何都会为你做的。
检查 super.configureResponse(response);
和 org.apache.wicket.markup.html.WebPage#setHeaders(WebResponse)
的实现。
除此之外:
- final Locale originalLocale = getSession().getLocale(); -
originalLocale
未使用
- getSession().setLocale(新语言环境(Constants.USER_LANG_PREF_ENG)); - 这可能应该移至
YourApplication#newSession()
我在 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 response),所以我尝试使用如下所示的方法编写上面的代码,
@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));
}
谁能告诉我,这段代码与之前的代码一样有效,还是我需要再次修改?
它几乎是一样的,但你并不真的需要它,因为这是 Wicket 无论如何都会为你做的。
检查 super.configureResponse(response);
和 org.apache.wicket.markup.html.WebPage#setHeaders(WebResponse)
的实现。
除此之外:
- final Locale originalLocale = getSession().getLocale(); -
originalLocale
未使用 - getSession().setLocale(新语言环境(Constants.USER_LANG_PREF_ENG)); - 这可能应该移至
YourApplication#newSession()