在JSF中显示XML

时间:2009-11-01 00:32:01

标签: xml jsf richfaces

我有一个方法可以返回格式化的XML字符串。我想以一种很好的包装,可读的方式在JSF页面上显示它。我先用这个解决方案。

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

结果是缩进的,但它不会包含很长的行(例如,有很多属性)。

RichFaces也可以在我的项目中使用。你会建议什么?

提前致谢, 丹尼尔

1 个答案:

答案 0 :(得分:13)

不确定我是否理解正确,但如果它是一个普通的带有XML数据的字符串,你希望在JSF页面中按原样显示,那么第一个逻辑步骤就是转义HTML实体,这样它就是没有被解析为HTML。你可以使用h:outputText,它默认转义HTML实体(顺便说一句,它可以通过'escape'属性控制):

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

或者如果它已格式化并且您想保留格式,则在父HTML元素上应用CSS white-space:pre属性。

或者如果你想添加语法高亮(颜色等),那么考虑一个完成任务的Javascript库。谷歌搜索“javascript xml语法高亮”应该会产生足够的结果。