jsf - 如何使用java EL根据jsf中的列表大小呈现数据表?

标签 jsf

如何使用java EL根据jsf中的列表大小呈现数据表?

最佳答案

三种方式:

  • 添加一个额外的 setter/getter 。
    public int getSearchListSize() {
        return searchList.size();
    }
    


    <h:dataTable rendered="#{bean.searchListSize > 2}">
    
  • 使用 JSTL fn:length() 功能。如果尚未完成,请安装 JSTL(只需将 jstl-1.2.jar 放入 /WEB-INF/lib 中)并声明 fn JSP 顶部的 taglib 如下:
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    

    并按如下方式使用它:
    <h:dataTable rendered="#{fn:length(bean.searchList) > 2}">
    
  • 使用 JBoss EL (“增强型 EL”)作为 JSF EL 实现。它向后兼容标准 JSF EL 实现。掉落 jboss-el.jar/WEB-INF/lib并在 web.xml 中声明以下内容,假设您使用的是 Mojarra JSF 实现:
    <context-param>     
        <param-name>com.sun.faces.expressionFactory</param-name>
        <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
    </context-param>
    

    这样你就可以直接访问非 getter 方法:
    <h:dataTable rendered="#{bean.searchList.size() > 2}">
    
  • 关于jsf - 如何使用java EL根据jsf中的列表大小呈现数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3106259/

    相关文章:

    java - OpenId+JSF 将用户重定向到他登录的页面?

    jsf - 如何获取 PrimeFaces 轮播的当前索引?

    html - h :commandbutton?的类型之间到底有什么区别

    jsf - JSF 中的基本安全性

    jsf - 组件 ID j_id? :name has already been found in the view

    ajax - 如何验证数据库中用户名的可用性?

    java - 在 JSF primefaces 中上传文件

    java - Primefaces 3.4 dataexporter 不导出值 p :cellEditor

    java - JSF 页面更改后未部署

    JSF 支持组件 - 复合组件 - Stackoverflow 异常