java - PrintWriter 输出到 body 标记内的 jsp 页面

标签 java jsp web-applications httpresponse

这是打印到我的 jsp 页面的代码。但是我在页面中有其他代码。当我调用这个函数时,我希望它在调用它之后立即打印消息。我无法确定,因为我正在使用 xhtml 协商,但我怀疑它在/html 标记之后打印。

这是我的功能

public Print(HttpServletRequest request,HttpServletResponse response){
        try{
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.print("<p>haha</p>");
        }catch(IOException e){
            e.printStackTrace();
        }
    }
};

这就是我所说的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Register</title>
</head>

<body>
<%@ page import="com.otrocol.app.*" %>
<%
    Print(request, response);
%>
</body>
</html>

这就是我认为的结果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Register</title>
</head>

<body>
</body>
</html>
"haha"

这就是我想要的响应:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Register</title>
    </head>  
    <body>
     "haha"
    </body>
    </html>

这是我得到的错误:

enter image description here

最佳答案

JSP 使用它自己的 PrintWriter,即 JspWriter out。因此将其传递给(静态)函数。 否则,您将采用第二个写入器,并且随着缓冲,一切都会变得困惑。

此外,由于输出已经发生,因此不要在函数中设置内容类型。

JSP 的顶部是一个很好的位置,也适合导入。

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

当有一个编写器时,该函数将在正文中的正确位置打印。

对原因有很好的直觉。顺便说一句,函数名称以小写字母开头。

关于java - PrintWriter 输出到 body 标记内的 jsp 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16361628/

相关文章:

web-applications - 如何从我的 URL 中删除 "cgi-bin"?

java - Maven WebApp META-INF context.xml

java - 使用 ArrayList<Character> 时标识符无效

java - 写入和读取文件 - Java - 不读取我写入文件的内容

java - Google App Engine (Java) 中的 RSS 解析器

java - 从 Apache 机器上的 Tomcat 服务器检索文件

javascript - 如何在多个页面中显示从数据库中获取的行?

java - 国家/地区代码 (iso-3166-1/iso-3166-2) 到经度和纬度

jsp - 是否可以将动态路径作为 jsp include 的一部分

python - 如何在没有身份验证的情况下使用 python 上传到谷歌驱动器?