在JSF中显示XML

Dan*_*lay 2 xml jsf richfaces

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

<pre><h:outputText value="myBean.xml"/></pre>
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢,丹尼尔

Bal*_*usC 13

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

<h:outputText value="#{bean.xmlString}" />
Run Code Online (Sandbox Code Playgroud)

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

或者,如果要添加语法突出显示(颜色等),请考虑执行该任务的Javascript库.谷歌搜索"javascript xml语法高亮"应该产生足够的结果.