首先,如果我的问题标题不正确,请提出建议。
继续提问: 假设我有以下组件:
search.jsp
- 带有用于提交数据的表单的 JSP 页面
Search.java
- 分别定义了 get()
和 post()
的 Controller Servlet,因此它可以充当调度程序对于路径 /search.jsp
searchResults.jspf
- 带有一些 JSTL 代码的片段,用于显示搜索结果
我想要的是对于每个 POST 请求, Controller servlet 必须进行计算,将结果设置为请求属性,然后 - 将请求转发到 View search。 jsp
应该在它自己的代码之后包含片段。
因此,我可以按以下方式定义 View :
search.jsp
+
searchResults.jspf
在单个页面上。
问题是,我可以使用调度程序转发或包含,因为我不知道如何在转发到 JSP 时包含一个片段。
如果我需要发布一些代码,或者需要任何更正,请告诉我。
最佳答案
在您的 search.jsp 中使用 jsp:include 嵌入您的 searchResult.jsp:
<jsp:include page="searchResult.jsp"></jsp:include>
例子: 1. 小服务程序:
@WebServlet(name = "Servlet", urlPatterns = "/myForwardTest")
public class Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("search.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
搜索.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>In search resust</title> </head> <body> Search.jsp embed searchResult.jsp <jsp:include page="searchResult.jsp" /> </body> </html>
搜索结果.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <body> in searchResult </body> </html>
关于java - 如何在从 Servlet 转发时将 JSP 片段包含到 JSP 页面中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33526097/