gpt4 book ai didi

java - 如何使用 OutputStreamWriter 在同一浏览器窗口中写入流?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:13:54 27 4
gpt4 key购买 nike

在服务器端代码中,我正在使用 OutputStreamWriter 编写一个字符串(在浏览器页面上写入)。这被写在一个新窗口中。我需要能够在同一个窗口中编写它。

该类扩展了 HttpServlet,代码结构如下:

void foo(HttpServletResponse response...) {
...
OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream());
response.reset();
response.setContentType("text/html");
out.write("Hello World!"); // Or some html string
out.flush();
out.close();
}

最佳答案

服务器端(servlet)不会也不能打开新窗口(幸运的是,否则用弹出窗口向客户端发送垃圾邮件将非常容易...)。客户端(浏览器)是唯一可以打开新窗口的人。您很可能在 HTML 或 JavaScript 中使用了以下结构之一,它们将在新窗口中显示结果:

<form action="servleturl" target="_blank">

<a href="servleturl" target="_blank">

<script>window.open('servleturl', 'windowname');</script>

您需要删除 target="_blank" 以在当前窗口中获取响应,或者如果您使用的是 JavaScript,则使用 window.location = 'servleturl'; 代替。


与具体问题无关,在 servlet 中发出 HTML 是一种糟糕的做法。请改用 JSP。

另见:

关于java - 如何使用 OutputStreamWriter 在同一浏览器窗口中写入流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7518497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com