2016-08-20 65 views
1

我從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。

回答