ウィケット 6.10 を jsp で統合する方法の例を探しています。私たちは jsp で書かれたコードをたくさん持っています。これは良いコードであり、ウィケットに入れたいと思っています。 ? 2.ウィケットパネル内にjspファイルを配置しますか?
3. これらの jsp ファイルはどこにありますか?
私が行ったことは、Webマークアップの内部でした:
@Override
public void onComponentTagBody(MarkupStream markupStream, ComponentTag tag) {
// Set up mock response and dispatch.
ServletContext context = WebApplication.get().getServletContext();
ServletRequest request = (HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest();
MockResponse mockResponse = new MockResponse((HttpServletResponse) RequestCycle.get().getResponse().getContainerResponse());
try {
context.getRequestDispatcher("/" + pageName + ".jsp").include(request, mockResponse);
} catch (ServletException | IOException e) {
e.printStackTrace();
}
try {
replaceComponentTagBody(markupStream, tag, mockResponse.getOutput());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
class MockResponse extends HttpServletResponseWrapper {
ServletOutputStream servletStream;
ByteArrayOutputStream byteStream;
public MockResponse(HttpServletResponse response) {
super(response);
byteStream = new ByteArrayOutputStream();
servletStream = new ServletOutputStream() {
@Override
public void write(int b) {
byteStream.write(b);
}
};
}
@Override
public ServletOutputStream getOutputStream() {
return servletStream;
}
public String getOutput() throws UnsupportedEncodingException {
return byteStream.toString("UTF-8");
}
}
htmlはmyjsp htmlによって開始されます...そして、私が望むのは、コンポーネント内にあるようにモックしたすべてのウィケットです。どうすればそれを達成できますか?