This question already has answers here:
Difference between JspWriter and PrintWriter in Java EE?
(2个答案)
3年前关闭。
我从我的JSP页面中获得了拆分输出,第一个是writer.write()输出,第二个是省略了标签的JSP。
我有以下简单的JSP页面
我通过这个小功能包括了它:
我现在得到的回应是
等等。中间有4个换行符。我认为这一定是编译器错误,但是清除缓存(IntelliJ)并重新启动,重新部署到Tomcat 8并不能解决该错误。在重新启动服务器之前,所有操作均正常进行,但现在没有任何修复方法。我什至在JSP上运行调试器,一切正常。
更新:
它在没有此标记“ ”的情况下运行良好,但是当该标记存在时,正文和标题都写在顶部,模板写在顶部底部。 getTitle()返回一个字符串。
(2个答案)
3年前关闭。
我从我的JSP页面中获得了拆分输出,第一个是writer.write()输出,第二个是省略了标签的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上运行调试器,一切正常。
更新:
它在没有此标记“ ”的情况下运行良好,但是当该标记存在时,正文和标题都写在顶部,模板写在顶部底部。 getTitle()返回一个字符串。
最佳答案
我很快就知道了,但这确实很棘手。 “ response.getWriter()”和JSP的“ out”变量(我不知道)不是同一回事。
碰巧的是,我的代码以前可以工作。
在使用“ out”(JSPWriter)变量之前,我还必须包含jsp.api.jar。
这里的相关信息:
Difference between JspWriter and PrintWriter in Java EE?
what is difference between JspWriter and PrintWriter?
08-05 20:01