2009-11-01 38 views
1

我有一個方法可以給出格式化的XML字符串。我想以一個很好的包裝,可讀的方式在JSF頁面上展示。我首先使用這個解決方案。在JSF中顯示XML

<pre><h:outputText value="myBean.xml"/></pre> 

結果是縮進,但不換行很長的行(有很多的屬性爲例如)

RichFaces的也是我的項目中可用。你會建議什麼?

由於提前, 丹尼爾

+0

「易讀」含糊不清。您嘗試獲得的輸出示例將有所幫助。 – McDowell 2009-11-01 15:00:18

+0

對不起,我的描述確實缺乏信息! – 2009-11-01 19:56:32

回答

11

不知道如果我理解你的權利,但如果是用XML數據要顯示爲,是在JSF頁面,則第一個邏輯一個普通的字符串第一步是轉義HTML實體,以便它不被解析爲HTML。您可以使用H:的outputText對於這一點,它在默認情況下轉義HTML實體(這是可控的由「逃離」屬性的方式):

<h:outputText value="#{bean.xmlString}" /> 

或者,如果它被格式化,並要保留格式,然後在父HTML元素上應用CSS white-space:pre屬性。

或者如果你想添加語法高亮(顏色等),然後考慮一個Javascript庫,它執行任務。谷歌搜索「JavaScript XML語法突出」應該產生足夠的結果。

+1

謝謝!我會把信用給你。然而,我正在尋找空白:預包裝:) – 2009-11-01 20:16:29

+0

小心:預先包裝不能在IE中工作到7,也不在FF2。 另請參閱http://www.quirksmode.org/css/whitespace.html – BalusC 2009-11-02 11:05:52

+0

謝謝,那正是我一直在尋找的! – 2010-08-06 14:08:40