JSF渲染不起作用

时间:2014-11-15 14:41:37

标签: jsf

我正在使用JSF开发一个应用程序。我希望当用户登录页面时,显示一条消息,说明"你好"。每次用户正确使用其凭据时,用户的ID都存储在currentUser属性中。

如果用户没有登录并访问我的页面,在浏览器中写入URL(没有用户ID),则显示一条消息,说明"您没有权限访问此页面"。我究竟做错了什么? 这是显示消息的代码

<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>

1 个答案:

答案 0 :(得分: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