zoukankan      html  css  js  c++  java
  • JSTL中c:set标签的要点和技巧

    c:set标签有两种不同的设置:var和target。
    
    var“版本”用于设置作用域属性,target“版本”用于设置bean属性或Map值。
    
    这两个版本都有两种形式:有体和没有体。有体的只是放入值的另一种途径。
    
    ★ var“版本”
    
        <c:set var="userLevel" scope="session" value="Cowboy"/>  
          
        <c:set var="fido" value="${person.dog}"/>  
          
        <c:set var="user" scope="session">  
           Sheriff, Bartender, Cowgirl   
        </c:set>  
    
    如果“value”为null,“var”指定的属性将被删除!
    
    如果“var”指定的属性不存在,则会创建一个属性,但仅当“value”不为null时才会创建新属性。
    
    ★ target“版本”
    
        <c:set target="${petMap}" property="dogName" value="Clover" scope="session"/>  
          
        <c:set target="${person}" property="name">  
           ${foo.name}   
        </c:set>  
    
    如果“target”是一个Map,“property”指定的是该Map的一个键;如果“target”是一个bean,“property”指定的是该bean的一个成员字段。
    
    如果“target”表达式为null,容器会抛出一个异常。
    
    如果“target”表达式不是一个Map或bean,容器会抛出一个异常。
    
    如果“target”表达式是一个bean,但是这个bean没有与“property”匹配的成员字段,容器会抛出一个异常。
    
    ★ 使用c:set标签的要点
    
    不能同时有“var”和“target”属性。
    
    “scope” 是可选的,如果没有使用这个属性,则默认为页面作用域。具体的,当没有使用这个属性时,容器会依次在页面作用域、请求作用域、会话作用域、应用作用域查 找,如果找不到“var”指定名字的作用域属性,容器就会在页面作用域新建一个属性;如果找不到“target”指定的对象,容器会抛出一个异常。
  • 相关阅读:
    Lua获取当前时间
    标准库
    Cocos2d-x retain和release倒底怎么玩?
    lua 中处理cocos2dx 的button 事件
    探讨把一个元素从它所在的div 拖动到另一个div内的实现方法
    从 ie10浏览器下Symbol 未定义的问题 探索vue项目如何兼容ie低版本浏览器(ie9, ie10, ie 11 )
    setTimeout里无法调用鼠标事件的event
    浅谈HTTP缓存以及后端,前端如何具体实现HTTP缓存
    window7电脑git设置快捷命令
    从获取点击事件根元素谈 target和currentTarget
  • 原文地址:https://www.cnblogs.com/jackydalong/p/3095208.html
Copyright © 2011-2022 走看看