servlet结果显示在jsp页面中

pav*_*van 9 jsp servlets

如何将servlet输出转发到jsp页面?

这意味着结果将显示在JSP页面中.

Bal*_*usC 26

您通常不使用servlet来生成HTML输出.您通常使用JSP/EL.使用out.write和配合流式传输HTML内容被认为是不好的做法.更好地利用请求属性.

例如:

protected void doGet(HttpServletRequest request, HttpServletResponse response) {
    Object data = "Some data, can be a String or a Javabean";
    request.setAttribute("data", data);
    request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
Run Code Online (Sandbox Code Playgroud)

<url-pattern>例如,在web.xml中映射它/page.将JSP放入/WEB-INF以防止直接访问.然后在JSP中,您可以使用EL(表达式语言)来访问作用域属性:

<p>The data from servlet: ${data}</p>
Run Code Online (Sandbox Code Playgroud)

通过调用servlet http://example.com/context/page.就那么简单.这样就可以在一个地方控制输出和表示,即JSP.


Chr*_*urt 0

要将请求/响应从 servlet 转发到其他内容(例如 JSP),您需要查看该类RequestDispatcher。ServletContext 类有一个获取调度程序的方法,可以从 servlet 内调用该调度程序。

例如(在 servlet 的doPost/doGet方法内):

RequestDispatcher rd = getServletConfig().getServletContext()
    .getRequestDispatcher("/jsp/myfile.jsp").forward(request,response);
Run Code Online (Sandbox Code Playgroud)