我正在開發包含現有的Java類名的列表,網頁:如何在網頁中顯示Java類的代碼(JSP)
因此當用戶點擊Java類的鏈接名稱將打開一個包含此Java類的代碼的新網頁。 所以要做到這一點,我將使用流讀取文件(Java類),並寫在網頁上。 你有另一個優化的解決方案嗎?
我正在開發包含現有的Java類名的列表,網頁:如何在網頁中顯示Java類的代碼(JSP)
因此當用戶點擊Java類的鏈接名稱將打開一個包含此Java類的代碼的新網頁。 所以要做到這一點,我將使用流讀取文件(Java類),並寫在網頁上。 你有另一個優化的解決方案嗎?
只需像讀取任何其他文本文件一樣閱讀.java文件即可。請注意,確保你正在使用.java文件進行操作,而不是編譯的.class文件。
然後,您可以選擇格式化它。
您可以像Oracle那樣使用腳本來設置原始代碼樣式 - 如[BorderDemo.java](http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.org的.com/JavaSE的/教程/ uiswing /實例/組件/ BorderDemoProject/SRC /組件/ BorderDemo.java)。 SO也可以很好地表示代碼,但使用更復雜的服務器端解決方案來標記它。 – 2012-07-05 14:12:08
@AndrewThompson在這個項目中,我目前正在使用Java和JavatoHtml將java轉換爲html,不出所料。 – 2012-07-05 14:22:38
是的,JavatoHtml將是從服務器端完成它的好方法。 – 2012-07-05 14:29:11
使用<c:import />
JSTL並嵌入<pre></pre>
標記中的內容。
<c:import var="content" url="File.java"/>
<pre>
<c:out value="${content}"/>
</pre>
有一個叫做back2Code的新項目,它會將類文件反編譯回源代碼。
http://code.google.com/p/back2code/
只有沒有源代碼(.java文件)時,這纔是最好的解決方案。編譯爲字節碼時,爲了優化起見,編譯器會改變一些東西,比如局部變量的名字等。這減少了反編譯的Java代碼的可讀性。 – SadClown 2012-07-05 12:24:15
在反編譯時也完全忽略了註釋 – madhairsilence 2012-07-05 12:25:42
你應該有這個源文件,而不僅僅是類文件。 – Thilo 2012-07-05 12:07:29