2011-04-11 12 views
0

gzip壓縮的文字在我的JSP我目前使用JSTL以顯示駐留在服務器上簡單的文本文件的內容如下:修改JSTL進口標籤,以顯示JSP

C:進口URL =「HTTP:/ /www.mysite.com/texts/name_id.txt「charEncoding =」UTF-8「/>

這些文本文件可能很長,有很多,所以我想壓縮它們並提供壓縮版本到導入標籤。你可以給我一些關於如何修改JSTL導入標籤的建議,或者創建我自己的標籤,以便在壓縮文本文件時獲得相同的結果?我懷疑我應該使用Apache Commons Codec,還是足夠使用java.util.zip?

http://grepcode.com/file/repo1.maven.org/maven2/javax.servlet/jstl/1.2/org/apache/taglibs/standard/tag/rt/core/ImportTag.java

http://grepcode.com/file/repo1.maven.org/maven2/javax.servlet/jstl/1.2/org/apache/taglibs/standard/tag/common/core/ImportSupport.java#ImportSupport

問候

回答

1

創建其上的URL模式映射一個servlet:

作爲參考,用於JSTL 1.2進口標籤源可以在可見的/texts/*,並在doGet()大致做了以下工作。

String path = request.getRequestURI().substring(request.getContextPath().length()); 
InputStream input = new GzipInputStream(getServletContext().getResourceAsStream(path)); 
OutputStream output = response.getOutputStream(); 
// Write input to output. 

請注意,該URL基於您的問題,並且您可以通過這種方式使您的URL保持不變。

+0

謝謝你的回答。我真正需要的是僅在我的頁面內的一個div內提供此壓縮文本文件的內容。其餘內容來自JSP和Struts框架。這就是爲什麼我使用類似於JSTL導入標籤的標籤。 – Alex 2011-04-11 18:26:11

+0

對不起,我完全忽略了你使用'c:import',並且記住它在服務器端而不是客戶端運行。我確定了答案。 – BalusC 2011-04-11 18:29:33

+0

謝謝!如何將此outputstream包含在我的JSP的div中?我應該爲此寫一個JSP標籤還是有更好的方法? – Alex 2011-04-11 19:05:15