2010-08-30 2 views
1

Я хочу исправить отступ, прежде чем отправлять пользователю страницу JSF, потому что отступ немного запутан от JSF, и было бы проще сделать css stylig с отступом nicier. Поэтому я хочу перенаправить весь вывод, написанный с помощью JSF-рендеринга, на переменную, проанализировать ее и затем отправить ее пользователю. Я попытался немного поиграть и подумал, что <f:phaseListener>, слушая RenderPhase, может быть правильным путем, но я не знаю, как это сделать конкретно.JSF prettify/beautify HTML output

ответ

3

A Filter - лучший инструмент для работы. A PhaseListener интересен, если вы заинтересованы в перехвате жизненного цикла JSF и/или дерева компонентов JSF, а не когда вас интересует только его сгенерированный ответ HTML. Существуют JTidyFilter, которые делают именно то, что вы хотите. Просто определите его один раз в web.xml, и все отклик HTML будут удалены. Все это в основном делает обертывание response.getOutputStream(), чтобы перенести его через JTidy.

+2

Сайт JTidy говорит, что он использует ' org.w3c.tidy.servlet.filter.JTidyFilter', но есть только 'org.w3c.tidy' и' org .w3c.tidy.ant' в загруженной банке ...? – coubeatczech

+3

Вот [jtidyservlet.jar] (http://jtidy.sourceforge.net/nightly/jtidyservlet-r8-SNAPSHOT.jar). Он также содержит фильтр. – BalusC