我试图让我的网页更有效率,所以我得到了如下问题:
是否可以将带有RequestDispatcher的新Jsp页面转发到Servlet的HTML div中?
像这样:
someServlet.java
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
// do something to send a page to the HTML div in page.jsp
}
page.jsp
<div> <!-- the forwarded page must inside here --> </div>
答案 0 :(得分:1)
那是不可能的。相反,您可以对servlet进行ajax调用,并且servlet可以以有助于视图工作的格式返回必要的数据。一个例子是使用JSON格式编写响应,然后在JavaScript中处理此JSON响应,以相应地在视图中添加必要的数据。
您还可以返回&#34; text / html&#34;响应您在<div>
的内容中写入必要的内容,直接在视图中编写HTML响应。此方法中使用的响应更易于在您的视图(JSP)中使用,但请注意,它会将您的Servlet请求仅与HTML响应结合。
决定取决于你。
更多信息:
答案 1 :(得分:0)
以这种方式使用include
代替forward
中的page.jsp
。
<div> <!-- insert any one --> </div>
尝试任何一个
<jsp:include page="includedPage" />
OR
<jsp:directive.include file="relative url" />
OR
<%@ include file="relative url" >
OR
request.getRequestDispatcher("/WEB-INF/jsp/abc.jsp").include(request, response);
如果页面被转发,则转发页面负责生成HTML内容,但是如果包含,则可以组合多个HTML / JSP / Servlet输出以生成最终的HTML内容。