我有一个包含(HTML格式)数据的OutputStream对象。我需要在jsp上只显示这些数据。我正在使用spring框架。
如何实现这一目标?
我尝试过PrintWriter对象的print方法。但它不起作用。我的下列代码有什么错误吗?
OutputStream output = new ByteArrayOutputStream();
ftp.retrieveFile(remote, output); //output stream obj is generated from fetching html file from ftp server.
PrintWriter objPrintWriter = response.getWriter();
objPrintWriter.println(output.toString());
我是否可以使用当前的Response对象创建一个动态视图,在该对象中,应用程序中不存在任何jsp,并且只是按原样打印输出流的内容。
答案 0 :(得分:0)
OutputStream不是为了读取信息而是为了写入。因此从逻辑上讲,不可能有一个“包含数据”的OutputStream。
您可能正在从InputStream读取数据并显示到JSP中。实现的一种方法是将所有数据转储到String中,并在分派到JSP
之前将其作为请求属性传递BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream()));
StringBuffer sb = new StringBuffer();
while((line = reader.readLine()) != null) {
sb.append(line);
}
request.setAttribute("data", sb.toString());
// dispatch to jsp..
(代码可能无法编译/包含错误)
免责声明,如果字符串内容很大,这不是一个好方法
答案 1 :(得分:0)
有效的方法如下。