Wicket を使用していて、どうしても HttpServletRequest や、HttpServletResponse を
使用したい時にどうやって取得するか。。。
そんな RAW 型を使う機会は少ないが知っておいて損はない。
Wicket で原始的な Response を使う注意の1つ - Oboe吹きプログラマの黙示録
以下、8年後、↑ に注意。。。
WebPage を extend したコンストラクタで以下のように取得できる。
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import wicket.markup.html.WebMarkupContainer;
import wicket.protocol.http.servlet.ServletWebRequest;
<<省略>>
ServletWebRequest servletWebRequest = (ServletWebRequest)getRequest();
HttpServletRequest request = servletWebRequest.getHttpServletRequest();
WebResponse webResponse = (WebResponse)getResponse();
HttpServletResponse response = webResponse.getHttpServletResponse();
すなわち、
HttpServletRequest request = getWebRequestCycle().getWebRequest().getHttpServletRequest();
HttpServletResponse response = getWebRequestCycle().getWebResponse().getHttpServletResponse();
ということである。