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