zoukankan      html  css  js  c++  java
  • JSTL解析——004——core标签库03

    上面章节主要讲解<c:forEach>标签,下面讲解其它标签

    1、<c:forTokens>标签

    forTokens标签与forEach标签类似,独有begin、end、step、items等属性,可以循环,不同之处是forTokens标签里面是字符串

    <c:forTokens items="Jane,Toni,Andy,hedix"  delims="," var="item" varStatus="status" begin="1" end="4" step="2">
    
    <tr>
    
    <td>${status.index}</td>
    
    <td>${item}</td>
    
    </tr>
    
    </c:forTokens>

    输出结果可以自己亲手试试看,下面解析一下各个属性的作用,delim是类似分割点的意思,varStatus遍历对象的信息,其中${status.index}的输出当前对象是第几个

    2、<c:set>标签

    一个页面有时候需要统计一些数字,比如当前用户登录次数,当前页面总访问人数等

    set标签可以帮我完成这些功能,它总共有五个属性(var、value、scope、target和poperty)

    1)

    <c:set var="totalCount" value="${totalCount+1}" scope="application"></c:set>
    
    <c:set var="count" value="${count+1}" scope="session"></c:set>
    
    <tr>
    
    <td>网站总访问数:${totalCount}</td>
    
    <td>其中您的访问次数:${count}</td>
    
    </tr>

    下面解析一下属性意义:var就是set的对象,value就是set进去的值,scope声明该对象的作用范围

    2)

    <%
    
    request.setAttribute("person",new com.bean.Person());
    
    request.setAttribute("map", new java.util.HashMap());
    
    %>
    
    <c:set target="${person} property="name" value="${param.name}"></c:set>
    
    <c:set var="${map} property="name" value="${param.name}"></c:set>
    
    <tr>
    
    <td>${person.name}</td>
    
    <td>${map.name}</td>
    
    </tr>

    信息的朋友会问,为什么下面的买看见var属性呢?问的很好

    实际上var和target属性是相互排斥和互助的,也就是说有var就没target,各有各的作用,下面说说它们的不同之处

    var不能接受EL表达式的,但target必须接受EL表达式

    target只能用来操作javaBean或者Map

    target一般和property组合使用,其中property对应的是target对象的属性,如果target是Map,则porperty对应的是key值

    请注意(target是不应许对象为null的)

    var和target不能同时使用在一个标签里面

    3、<c:remove>标签

    remove标签的作用和set标签的作用刚好相反,remove有两个属性,var和scope,同set一样var属性只接受字符串不接受EL表达式

    <%
    
    request.setAttribute("test", new java.util.HashMap());
    
    %>
    
    <c:remove var="test ></c:remove>
    
    <tr>
    
    <td>${test ==null ?'test对象已经被删除':'test对象没有被删除'}</td>
    
    </tr>

    其中当test是的空的时候,不会报错

    4、<c:catch>标签

    大家一看到这个标签应该能才出来是捕捉异常的,确实是这样的,catch只有var一个属性

    <c:catch var="test >
    
    <c:set target="${person}" property="name" value="some value"></c:set>
    
    </c:catch>
    
    <tr>
    
    <td><c:if test="${test!=null}">程序报错,错误内容:${test.class.name}</c:if></td>
    
    </tr>



  • 相关阅读:
    ubuntu系统下安装最新版的MySQL
    scp本地服务器和远程服务器拷贝文件
    linux设置环境变量
    PHP程序员玩转Linux系列-lnmp环境的搭建
    nginx与负载均衡
    Linux下vim的常用命令总结
    nginx与location规则
    ssh秘钥对免密码登陆
    ubuntu下安装php pdo扩展和导入数据库
    ArrayList的删除实现
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3310707.html
Copyright © 2011-2022 走看看