2016-08-20 66 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。

回答