В JSF вы можете получить текущий идентификатор представления по
#{facesContext.viewRoot.viewId}
. Он вернет относительный к веб-контенту путь к файлу представления, например, /home.xhtml
, /about.xhtml
и т. Д. Вы можете проверить егос помощью условного оператора в EL для задания имени класса.
<ui:param name="view" value="#{facesContext.viewRoot.viewId}" />
<li id="home"><a jsfc="h:link" outcome="home" class="#{view == '/home.xhtml' ? 'current' : ''}">#{global.homeInCaps}</a></li>
<li id="about"><a jsfc="h:link" outcome="about" class="#{view == '/about.xhtml' ? 'current' : ''}">#{global.aboutInCaps}</a></li>
<li id="blog"><a jsfc="h:link" outcome="blog" class="#{view == '/blog.xhtml' ? 'current' : ''}">#{global.blogInCaps}</a></li>
...
Затем можно стилизовать ссылку, представляющую текущую страницу, с помощью CSS
.leftNav .current {
color: pink;
}
Не следует лиleftNav
точнее будет id
?