我有一個web項目。執行該項目後,它將生成一個包含特定結果的文本文件。並且在最終的jsp頁面中只包含成功報告。但我想要顯示文本文件的內容到該jsp頁面。我需要做什麼來實現這一目標?如何將文本文件的內容顯示爲jsp頁面
謝謝。 koushik
我有一個web項目。執行該項目後,它將生成一個包含特定結果的文本文件。並且在最終的jsp頁面中只包含成功報告。但我想要顯示文本文件的內容到該jsp頁面。我需要做什麼來實現這一目標?如何將文本文件的內容顯示爲jsp頁面
謝謝。 koushik
場景1: 您需要打開txt文件,讀取內容&將其寫入輸出流。
BufferedReader br = new InputStreamReader(new FileInputStream("<<file>>"));
String line = br.readLine();
while(line!=null){
out.println(line);
line = br.readLine();
}
這讀取文件&寫內容到JSP
這需要在JSP做...
它也是最好這段代碼移到支持類&使用該類來檢索文件內容。
作爲用戶請求的結果,您的Web應用程序生成的文本文件是什麼?如果是這樣,那麼觸發文件生成的動作bean(或servlet)必須有權訪問其內容。您不能將文件內容設置爲動作bean屬性(或servlet參數),在這種情況下,JSP可以訪問它並可以顯示它?
您可以使用JSTL 導入標籤。它導入基於URL的資源的內容。
<c:import var="data"
url="http://www.example.com/file.txt"
scope="session"/>
<c:out value="${data}"/>
如果文件被保存在公共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
並將其寫入到HttpServletResponse
的OutputStream
,讓你終於可以用<c:import>
這一點。
是的,如果這是一個html jsp,你可能需要在每行的末尾添加
。 –
讓我大聲笑出來。 –
即將構建: BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(filename)); String line = null; (null!=(line = reader.readLine())){out.write(line); } reader.close(); – RzR