Asi*_*sif 5 java jsp servlets jsp-fragments
首先,如果我的问题标题不正确,请建议我。
继续提问:假设我有以下组件:
search.jsp- 带有提交数据表单的 JSP 页面
Search.java- 控制器 Servlet 具有get()和post()分别定义,以便它可以充当路径的调度程序/search.jsp
searchResults.jspf- 带有一些 JSTL 代码的片段,用于显示搜索结果
我在这里想要的是,对于每个POST请求,控制器 servlet 必须进行计算,将结果设置为请求属性,然后将请求转发到search.jsp应在其自己的代码后包含片段的视图视图。
这样,我就可以按如下方式定义视图:
search.jsp
+
searchResults.jspf
Run Code Online (Sandbox Code Playgroud)
在单个页面上。
问题是,我可以使用调度程序进行转发或包含,因为我不知道如何在转发到 JSP 时包含片段。
如果需要的话,请告诉我是否需要发布一些代码,或者需要任何更正。
小智 4
在您的 search.jsp 中使用 jsp:include 嵌入您的 searchResult.jsp:
<jsp:include page="searchResult.jsp"></jsp:include>
Run Code Online (Sandbox Code Playgroud)
示例: 1. servlet:
@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);
}
}
Run Code Online (Sandbox Code Playgroud)
搜索.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>
Run Code Online (Sandbox Code Playgroud)搜索结果.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<body>
in searchResult
</body>
</html>
Run Code Online (Sandbox Code Playgroud)