2011-07-05 176 views
3

我有一个web项目。执行该项目后,它将生成一个包含特定结果的文本文件。并且在最终的jsp页面中只包含成功报告。但我想要显示文本文件的内容到该jsp页面。我需要做什么来实现这一目标?如何将文本文件的内容显示为jsp页面

谢谢。 koushik

回答

2

场景1: 您需要打开txt文件,读取内容&将其写入输出流。

BufferedReader br = new InputStreamReader(new FileInputStream("<<file>>")); 

String line = br.readLine(); 
while(line!=null){ 
out.println(line); 
line = br.readLine(); 
} 

这读取文件&写内容到JSP

这需要在JSP做...

它也是最好这段代码移到支持类&使用该类来检索文件内容。

+2

是的,如果这是一个html jsp,你可能需要在每行的末尾添加
。 –

+0

让我大声笑出来。 –

+0

即将构建: BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(filename)); String line = null; (null!=(line = reader.readLine())){out.write(line); } reader.close(); – RzR

0

作为用户请求的结果,您的Web应用程序生成的文本文件是什么?如果是这样,那么触发文件生成的动作bean(或servlet)必须有权访问其内容。您不能将文件内容设置为动作bean属性(或servlet参数),在这种情况下,JSP可以访问它并可以显示它?

0

您可以使用JSTL 导入标签。它导入基于URL的资源的内容。

<c:import var="data" 
      url="http://www.example.com/file.txt" 
      scope="session"/> 

<c:out value="${data}"/> 
4

如果文件被保存在公共web内容,然后使用JSTL<c:import>来显示它。让换行符在HTML输出被保存

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
<pre><c:import url="file.txt" /></pre> 

<pre>标签是必要的。替代方法是将CSS white-space: pre;添加到包含元素,或者用<br/>替换\n

如果文件没有保存在公共web内容,然后创建一个servlet它通过FileInputStream得到它的一个InputStream并将其写入到HttpServletResponseOutputStream,让你终于可以用<c:import>这一点。

相关问题