configureResponse() in Wicket 6.x or 7.x



i在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 ConfigurerSponse((中删除了它们,并用configurerSponse替换(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));

}

任何人都可以告诉我,此代码的工作原理与上一个代码一样,或者我需要再次修改?

它几乎是一样的,但您并不真正需要它,因为这是检票员无论如何都会为您做的事情。

检查super.configureResponse(response);org.apache.wicket.markup.html.WebPage#setHeaders(WebResponse)的实现。

除此之外:

  • 最终的locale originallocale = getSession((。getlocale((;-originalLocale不使用
  • getSession((。setLocale(new Locale(stonstants.user_lang_pref_eng((; - 这可能应该移至YourApplication#newSession()

最新更新