• JSTL <C:if></C:if> 和<C:ForEach></C:ForEach> 入门级~


    一、<C:If>标签:条件判断语句

    <c:if test="${objList.nodetype == 1}">上级节点</c:if>  
     

    test为if语句的判断条件。执行与java中的一致。

    简单总结几种判空的处理:

    1、集合判空。利用关键字  empty

    <c:if test="${ empty list}">   
      
    //要执行的语句...  
      
    </c:if>  


    2、集合判空的另一种方式


     
    <c:if test="${mdxDimensionInfoList=='[]'}">  
      
    //要执行的代码...  
      
    </c:if>  

    3、字符串判空

    <c:if test="${query01 == null}">  
      
      //执行代码...  
      
    </c:if>  
      
    或者  
      
    <c:if test="${query01 == ''}">  
      
      //执行代码...  
      
    </c:if>  


    4、判断两个字串是否相等



    二、<C:ForEach>标签,循环取值

           <C:ForEach> 一般使用的两个重要属性,

            items------要循环遍历的集合

            var----------迭代器名称,通俗点说就是用var来 取值,(见下)

            C:out-------通过C:Out将值显示在页面

     
     
    <c:forEach items="${mdxMeasureInfoList}" var="obj">  
        <tr>  
               <td width="20%"><c:out value="${obj.measureName}"></c:out></td>  
               <td width="20%"><c:out value="${obj.myFildName}"></c:out></td>  
               <td width="20%"><c:out value="${obj.unit}"></c:out></td>  
               <td width="20%"><c:out value="${obj.calFormula}"></c:out></td>  
        </tr>  
    </c:forEach>  

    例子: C:if + C:forEach

    //<c:forEach><c:if>分开使用  
      
    <table>  
        <tbody>  
            <c:forEach items="${mdxMeasureInfoList}" var="obj">  
                <tr>  
                    <td width="20%"><c:out value="${obj.measureName}"></c:out></td>  
                    <td width="20%"><c:out value="${obj.myFildName}"></c:out></td>  
                    <td width="20%"><c:out value="${obj.unit}"></c:out></td>  
                    <td width="20%"><c:out value="${obj.calFormula}"></c:out></td>  
                </tr>  
            </c:forEach>  
      
            <c:if test="${mdxMeasureInfoList=='[]'}">  
                <tr>  
                    <td colspan="11"><font color="red">很抱歉 没有可以展示的数据!</font></td>  
                </tr>  
            </c:if>  
        </tbody>  
    </table>  
      
      
      
      
    //例子2:<c:forEach><c:if>嵌套使用  
      
    <table>  
        <tbody>  
      
                    //page.content,是因为在controller中将传过来的list封装在了pagebean实体中,  
                    //所以取值时为page.content。普通集合取值时,不用加 .content  
      
            <c:forEach items="${page.content}" var="obj">  
                <tr>  
                    <td width="30px"><input name="id" type="checkbox" value="${obj.id}" /></td>  
                    <td width="15%"><c:out value="${obj.measureName}"></c:out></td>  
                    <td width="15%"><c:out value="${obj.myFildName}"></c:out></td>  
                    <td width="15%"><c:out value="${obj.unit}"></c:out></td>  
                    <td width="15%">  
                    <c:if test="${obj.measureAggregator=='sum'}">总和</c:if>  
                    <c:if test="${obj.measureAggregator=='count'}">计数</c:if>  
                    <c:if test="${obj.measureAggregator=='min'}">最小值</c:if>  
                    <c:if test="${obj.measureAggregator=='max'}">最大值</c:if>  
                    <c:if test="${obj.measureAggregator=='avg'}">平均值</c:if>  
                    </td>  
                    <td width="15%">  
                    <c:if test="${obj.ifDisplay=='0'}">显示</c:if>  
                    <c:if test="${obj.ifDisplay!='0'}">隐藏</c:if>  
                    </td>  
                </tr>  
            </c:forEach>  
        </tbody>  
    </table> 

  • 相关阅读:
    linux编译C
    Windows下ARP协议的工作原理简介
    窥探QQ基础数据库架构演变史
    JAVA培训—线程同步--卖票问题
    SQLite、MySQL和PostgreSQL 三种关系数据库哪个好?
    再论谭浩强《C语言程序设计》
    JPG加入RAR文件原理详解
    如何区分一个程序员是“老手“还是“新手“?
    AutoITx3.DLL所有函数及说明
    windows索引服务
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/7642327.html
Copyright © 2020-2023  润新知