Условно включая файл шаблона в теги ui: состав - PullRequest
1 голос
/ 15 декабря 2011

Я использую Facelets для шаблонов в моем приложении JSF.Я хотел бы включить файл шаблона условно в теги ui: состав.Если пользователь вошел в систему, шаблон должен быть «author.xhtml», а если пользователь не вошел в систему, тогда шаблон должен быть «unauthorized.xhtml».Есть ли способ сделать это?Спасибо.

<ui:composition template="/templates/unauthorized.xhtml">
<ui:composition template="/templates/authorized.xhtml">

Я использую JSF 1.2.

1 Ответ

6 голосов
/ 15 декабря 2011

Я бы попробовал троичную операцию с атрибутом isAuthorized(), если он есть в вашем компоненте входа в систему:

<ui:composition template="#{loginbean.authorized ? '/templates/authorized.xhtml' : '/templates/unauthorized.xhtml'}">

Или используйте два тега <h:panelGroup> с соответствующими значениями rendered:

<h:panelGroup rendered="#{loginbean.authorized}">
    <ui:decorate template="/templates/authorized.xhtml">
</h:panelGroup>

<h:panelGroup rendered="#{not loginbean.authorized}">
    <ui:decorate template="/templates/unauthorized.xhtml">
</h:panelGroup>
...