Единая навигационная система для JSF (меню, хлебные крошки, карта сайта)
Вопрос
Мы используем MyFaces, Richfaces и Restfaces для создания веб-сайта поверх Oracle Stellant CMS.Мы не используем Site Studio.Существуют ли какие-либо виджеты / комбинации виджетов, которые могли бы обеспечить единую навигационную систему?Структура сайта должна быть прочитана из таблицы базы данных и полей метаданных CMS, и нам нужно меню верхней вкладки, расширяемое боковое меню, хлебные крошки и карта сайта (бонусные баллы, если она использует sitemaps.org стандарт).В настоящее время мы используем комбинацию автономных виджетов ручной сборки и готовых виджетов, которые не очень хорошо взаимодействуют - различные функции навигации не синхронизируются при навигации по сайту.
Решение
В прошлом году мы столкнулись с очень похожей проблемой и не нашли ни одного набора виджетов, которые могли бы обеспечить интегрированное решение (мы использовали JSF, Facelets, RichFaces & Spring).
В итоге мы разработали нашу собственную навигационную систему с держателями состояний меню (сохраняемыми для каждого сеанса), и хлебные крошки просто поднимались бы в дереве меню из текущего выбора, чтобы создать себя сами.
Сама модель меню была создана один раз при запуске приложения (считана из xml-файла) с использованием Spring и привязана к представлению с помощью facelets (
<rich:tabPanel id="topMenu" binding="#{menuBean.menu}" />
Синхронизацией компонентов в основном управлял Spring WebFlow FlowExecutionListener
Надеюсь, это поможет..