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