java - 如何在从 Servlet 转发时将 JSP 片段包含到 JSP 页面中?

标签 java jsp servlets jsp-fragments

首先,如果我的问题标题不正确,请提出建议。

继续提问: 假设我有以下组件:

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);
    }
 }
  1. 搜索.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>
    
  2. 搜索结果.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/

相关文章:

java - Android 客户端/服务器 Socket 客户端未接收

java - 从 Spring 3.0 开始用 SpEL 替换 JSP 中的 EL

java - 如何在不使用javascript的情况下在html页面中显示密码错误错误

java - 非 jsf 应用程序的 ExternalContext 等价物

Java 泛型在 Eclipse 中编译,但在 javac 中不编译

Java Stream -> 从另一个不同结构的列表创建列表

java - Hama BSP 中此作业的运行时分区失败

Spring Boot - 缓慢的请求/响应

apache - HTTP 状态 500 org.apache.jasper.JasperException : Unable to compile class for JSP:

java - Ajax 调用不起作用