2014-11-15 3 views
0

Я разрабатываю приложение с использованием JSF. Я хочу, чтобы пользователь заходил на страницу, чтобы показать сообщение «привет». Каждый раз, когда пользователь регистрируется правильно с его учетными данными, идентификатор пользователя хранится в атрибуте currentUser.JSF rendered не работает

, если пользователь не залогинится и не получит доступ к моей странице, введя в браузере URL-адрес (не имеющий идентификатора пользователя), чтобы показать сообщение «У вас нет ограничений для доступа к этой странице». Что я делаю не так? Это код, чтобы показать сообщение

<h:form rendered="#{usersManagedBean.currentUser ne null}"> 
    <h:outputText value=" hello " /> 
</h:form> 
<h:form rendered="#{usersManagedBean.currentUser eq null}"> 
    <h:outputText value="You have no rigths to access this page" /> 
</h:form> 
+0

'# {не пусто usersManagedBean.currentUser}' соответствует как «не null», так и '! = '''. Попробуйте сделать это, а также проверьте, правильно ли задан 'usersManagedBean.currentUser' в соответствующем бэксовом компоненте в зависимости от действий другого пользователя. – Tiny

+0

Какой из выходов отображается? – miniwolf

ответ

0

вместо этого использовать пустой оператор

<h:form rendered="#{not empty usersManagedBean.currentUser}"> 
    <h:outputText value=" hello " /> 
</h:form> 
<h:form rendered="#{empty usersManagedBean.currentUser}"> 
    <h:outputText value="You have no rigths to access this page" /> 
</h:form> 

Пустой оператор находится в EL 2.2 specification

 

    1.10 Empty Operator - empty A 

     The empty operator is a prefix operator that can be used to determine if a value is null or empty. 


    To evaluate empty A 

    If A is null, return true 
    Otherwise, if A is the empty string, then return true 
    Otherwise, if A is an empty array, then return true 
    Otherwise, if A is an empty Map, return true 
    Otherwise, if A is an empty Collection, return true 
    Otherwise return false 
Смежные вопросы