如何使用java EL在jsf中基于列表大小呈现数据表?

gek*_*ish 2 jsf

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

Bal*_*usC 14

三种方式:

  1. 添加一个额外的吸气剂.

    public int getSearchListSize() {
        return searchList.size();
    }
    
    Run Code Online (Sandbox Code Playgroud)

    <h:dataTable rendered="#{bean.searchListSize > 2}">
    
    Run Code Online (Sandbox Code Playgroud)
  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" %>
    
    Run Code Online (Sandbox Code Playgroud)

    并按如下方式使用:

    <h:dataTable rendered="#{fn:length(bean.searchList) > 2}">
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用JBoss EL("增强型EL")作为JSF EL实现.它向后兼容标准的JSF EL实现.掉落的jboss-el.jar/WEB-INF/lib,并宣布在下面web.xml,假设你使用钻嘴鱼科 JSF实现:

    <context-param>     
        <param-name>com.sun.faces.expressionFactory</param-name>
        <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
    </context-param>
    
    Run Code Online (Sandbox Code Playgroud)

    这样您就可以直接访问非getter方法:

    <h:dataTable rendered="#{bean.searchList.size() > 2}">
    
    Run Code Online (Sandbox Code Playgroud)