Мы столкнулись с очень похожей проблемой в прошлом году и не нашли ни одного набора виджетов, которые могли бы предоставить интегрированное решение (мы использовали JSF, Facelets, RichFaces & Spring).
Мы закончили разработку нашей собственной навигационной системы с держателями состояний меню (сохраняемых за сеанс), и хлебные крошки просто поднялись бы в дереве меню из текущего выбора, чтобы создать себя.
Сама модель меню была построена один раз при запуске приложения (считывается из файла xml) с использованием Spring и привязана к представлению с использованием граней (
)
<rich:tabPanel id="topMenu" binding="#{menuBean.menu}" />
Синхронизация компонентов в основном осуществлялась Spring WebFlow FlowExecutionListener
Надеюсь, это поможет ..