2009-11-01 4 views
1

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

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

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

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

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

+0

«хорошо читаемый» является неопределенным. Пример результата, который вы пытаетесь достичь, поможет. – McDowell

+0

Извините, мое описание действительно не хватало информации! –

ответ

11

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

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

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

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

+1

Спасибо! Я дам вам кредит. Однако я искал пробел: pre-wrap :) –

+0

Позаботьтесь: pre-wrap не работает в IE до 7, ни в FF2. Также см. Http://www.quirksmode.org/css/whitespace.html – BalusC

+0

Спасибо, это было именно то, что я искал! –

Смежные вопросы