2011-07-05 151 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>這一點。

相關問題