【问题标题】:why can't it allow "<%@ include file" inside a HttpServletResponse? [duplicate]为什么它不能在 HttpServletResponse 中允许“<%@ 包含文件”? [复制]
【发布时间】:2016-01-16 07:38:27
【问题描述】:

好的,我得到了这个 jsp 文件,它可以正常工作

<html>
<head><title>Account</title></head>
<body>
<%@ include file="header.jsp" %>
</body>
</html>

现在,我有一个 servlet

 public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {
   resp.getWriter().println("<html>"+

                    "<head><title>Account</title></head>"+
                    "<body>"+

                    "<%@ include file=\"header.jsp\" %>"+

                    "</body"+
                    "</html>"
    }

servlet 将&lt;%@ include file="header.jsp" %&gt; 打印为页面上的文本,但无法理解它是&lt;%@ include file="header.jsp" %&gt;

如何让servlet打印出和我上面提到的jsp文件一模一样的结果?

【问题讨论】:

  • 因为 JSP 文件与响应字符串不同。一个 JSP 变成了一个 servlet,指令/标签做事。在这里,您正在向客户端发送一个字符串——客户端对 JSP 一无所知。你为什么首先在 servlet 中生成 HTML?
  • @DaveNewton,如何避免从 servlet 生成 html?
  • 使用 JSP(或其他视图层技术)。

标签: java jsp servlets


【解决方案1】:
request.getRequestDispatcher("/WEB-INF/header.jsp").include(request, response);

但是你应该避免这种情况。

【讨论】:

    猜你喜欢
    • 2020-11-01
    • 2014-02-19
    • 2022-01-20
    • 2017-02-08
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    相关资源
    最近更新 更多