我有一种方法可以返回格式化的 XML 字符串。我想以一种包装精美、可读性强的方式在 JSF 页面上展示它。我首先使用了这个解决方案。
<pre><h:outputText value="myBean.xml"/></pre>
结果是缩进的,但它不会包含很长的行(例如有很多属性)
RichFaces 在我的项目中也可用。你有什么建议?
在此先感谢,丹尼尔
不确定我是否理解正确,但如果它是一个带有 XML 数据的普通字符串,您想在 JSF 页面中按原样显示,那么第一个逻辑步骤是转义 HTML 实体,使其不被解析作为 HTML。您可以为此使用 h:outputText ,默认情况下它会转义 HTML 实体(顺便说一下,可以通过 'escape' 属性控制):
<h:outputText value="#{bean.xmlString}" />
或者,如果它已格式化并且您想保留格式,则在父 HTML 元素上应用 CSS white-space:pre 属性。
或者,如果您想添加语法突出显示(颜色等),请考虑使用 Javascript 库来完成该任务。谷歌搜索“javascript xml 语法突出显示”应该会产生足够的结果。