Статьи

Как настроить FacesTrace

Если вы когда-либо пытались отладить проблему Java Server Faces (JSF) 1.0 или 1.1, вы знаете, что либо получаете «трассировку стека из ада», либо слишком мало выходных данных — в любом случае у вас нет того, что вам нужно для устранения неполадок. Проблемы, которые не приносят полезного результата (тип, который вы обычно используете для вывода в JSP тег <h: messages> </ h: messages>), могут быть особенно сложными. Поскольку JSF не дает никаких указаний на то, что на самом деле пошло не так, вы застряли с различными и утомительными методами отладки для устранения проблемы, возникающей в жизненном цикле JSF. К счастью, есть удобный инструмент, помогающий увидеть внутри черного ящика жизненный цикл JSF. FacesTrace — очень простой инструмент, который визуализирует шаги в жизненном цикле JSF, которые прошли или не прошли, и сколько времени потребовалось для выполнения каждого шага.

Я считаю, что FacesTrace раньше был автономным инструментом, но теперь является частью инфраструктуры PrimeFaces . Я не мог найти скачивание только FacesTrace в любом месте на этом сайте, что было очень запутанным. Я скачал фреймворк PrimeFaces, но в нем не было ничего, что конкретно касалось FacesTrace. Я обнаружил, что вы можете скачать facestrace.jar из SourceForge, откуда я и предлагаю вам его получить. Версия этого блога основана на версии 1.0.1.

Дэвид Гири и Кей Хорстманн рекомендуют FacesTrace в своей книге Core JavaServer Faces 2nd Edition , но им не хватает нескольких шагов в настройке. Несмотря на это, полная настройка очень проста. Я не мог найти, что кто-то еще задокументировал это, поэтому я сделал это здесь. Шаги ниже. Я предполагаю, что вы знакомы с приложением JSF и просто хотите использовать в нем FacesTrace.

  1. Загрузите facestrace.jar отсюда .
  2. Скопируйте facestrace.jar в папку WEB-INF / lib вашего веб-приложения.
  3. Извлеките facestrace.js из facestrace.jar, где вы храните файлы JavaScript в вашем веб-приложении.
  4. Извлеките FaceTTrace.css из facestrace.jar, где вы храните файлы CSS в вашем веб-приложении.

Вот и все для настройки. Теперь вы можете использовать FacesTrace на любой из ваших страниц JSF с помощью пары простых шагов. Шаги ниже определяют вещи, которые вы должны добавить к каждой JSP, в которой вы хотите использовать FacesTrace.

1. Добавьте ярлык FacesTrace:

<%@ taglib uri="http://facestrace.sourceforge.net" prefix="ft" %>

2. Ссылка на CSS-файл FacesTrace (используйте местоположение, определенное для того места, куда вы извлекли файл):

<link href="<%=request.getContextPath()%>/theme/facesTrace.css" rel="stylesheet" type="text/css">

3. Ссылка на файл JavaScript FacesTrace (используйте местоположение, определенное для того места, где вы извлекли файл):

<script type="text/javascript" language="JavaScript" src="<%=request.getContextPath()%>/scripts/facestrace.js"></script>

4. Добавьте тег трассировки FacesTrace в соответствующее место на своей странице JSP:

<ft:trace></ft:trace>

Когда вы запустите свое приложение и перейдете на страницу, где вы включили FacesTrace, вы увидите нечто похожее на изображение ниже:

Зеленые прямоугольники под заголовком «Запрос жизненного цикла» представляют основные этапы жизненного цикла JSF. Обратите внимание, что каждый блок содержит имя шага жизненного цикла и продолжительность выполнения. Ящики зеленые, если шаг выполнен успешно, и красные, если нет.

Синие заголовки кликабельны и будут расширяться при нажатии. Еще одна интересная функция находится под заголовком «Дерево компонентов». В этом разделе вы можете изучить модель компонентов JSF для страницы, а также идентификаторы и значения компонентов. Пример ниже.

Остальная часть интерфейса не требует пояснений. Я еще почти не пользовался FacesTrace, но стоит добавить его в приложение на тот случай, если оно понадобится. Если ничто иное, игра с этим в течение некоторого времени улучшит ваше понимание JSF!

Как всегда, если я неясно, что-то пропустил, или у вас есть другой вопрос, пожалуйста, оставьте комментарий к этому сообщению, и я скоро отвечу.

 

От http://thewonggei.wordpress.com/2011/03/25/how-to-setup-facestrace/