Отображение XML в JSF - PullRequest
       11

Отображение XML в JSF

2 голосов
/ 01 ноября 2009

У меня есть метод, который возвращает отформатированную строку XML. Я хочу показать это на странице JSF в удобной, удобочитаемой форме. Сначала я использовал это решение.

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

Результат с отступом, но он не переносит очень длинные строки (например, с большим количеством атрибутов)

RichFaces также доступен в моем проекте. Что бы вы предложили?

Спасибо заранее, Daniel

1 Ответ

13 голосов
/ 01 ноября 2009

Не уверен, правильно ли я вас понимаю, но если это простая ванильная строка с данными XML, которую вы хотите отобразить как есть на странице JSF, то первым логическим шагом будет экранирование сущностей HTML, чтобы не был проанализирован как HTML. Для этого вы можете использовать h: outputText, он по умолчанию экранирует сущности HTML (что, кстати, управляется атрибутом escape):

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

Или, если он отформатирован и вы хотите сохранить форматирование, примените свойство CSS white-space: pre к родительскому элементу HTML.

Или, если вы хотите добавить подсветку синтаксиса (цвета и т. Д.), Рассмотрите библиотеку Javascript, которая выполняет эту задачу. Поиск в Google «подсветки синтаксиса javascript xml» должен дать достаточно результатов.

...