我從JSP頁面獲取分割輸出,其中writer.write()輸出第一個和第二個標籤爲omittted的JSP。JSP頁面與標籤輸出分離
我有以下簡單的JSP頁面
<%@ page import="com.AAA.SiteTemplate.RenderPageInterface" %>
<%@ page import="java.io.Writer" %>
<%@ page import="java.io.IOException" %>
<%@ page import="com.NatureRelaxation.SiteTemplate.RenderPageInterfaceNull" %><%--
Created by IntelliJ IDEA.
User:
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<%
RenderPageInterface obj = (RenderPageInterface) request.getAttribute("renderPageInterface");
if (obj == null){
obj = new RenderPageInterfaceNull();
}
%>
<title><% response.getWriter().write(obj.getTitle()); %></title>
<style type="text/css">
</style>
</head>
<body>
<%
obj.renderHTML(response.getWriter());
%>
</body>
</html>
,我包括它通過這個小功能:
public static void doRequest(HttpServletRequest req, HttpServletResponse res, RenderPageInterface renderPageInterface) throws ServletException, IOException{
req.setAttribute("renderPageInterface", renderPageInterface);
RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/templates/header.jsp");
rd.include(req, res);
}
,我現在得到的響應是
My page titleMypagebody....
<html>
<head>
<title></title>
等中間有4條換行符。我認爲它必須是一個編譯器錯誤,但清除緩存(IntelliJ)並重新啓動,重新部署到Tomcat 8並不能解決它。所有工作都正常,直到服務器重新啓動,但現在沒有任何修復。我甚至在JSP上運行調試器,一切順利。
更新:
它運行沒有這個標籤罰款 「<%response.getWriter()寫(obj.getTitle());%>」,但是當標籤是存在的,身體和兩標題寫在頂部,模板在底部。 getTitle()返回一個String。