博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSTL中c:set标签的要点和技巧
阅读量:7234 次
发布时间:2019-06-29

本文共 993 字,大约阅读时间需要 3 分钟。

c:set标签有两种不同的设置:var和target。

var“版本”用于设置作用域属性,target“版本”用于设置bean属性或Map值。

这两个版本都有两种形式:有体和没有体。有体的只是放入值的另一种途径。

★ var“版本”

  1. <c:set var="userLevel" scope="session" value="Cowboy"/>  
  2.   
  3. <c:set var="fido" value="${person.dog}"/>  
  4.   
  5. <c:set var="user" scope="session">  
  6.    Sheriff, Bartender, Cowgirl   
  7. </c:set>  

如果“value”为null,“var”指定的属性将被删除!

如果“var”指定的属性不存在,则会创建一个属性,但仅当“value”不为null时才会创建新属性。

★ target“版本”

  1. <c:set target="${petMap}" property="dogName" value="Clover" scope="session"/>  
  2.   
  3. <c:set target="${person}" property="name">  
  4.    ${foo.name}   
  5. </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”指定的对象,容器会抛出一个异常。

转载于:https://www.cnblogs.com/dr50289/archive/2013/01/08/2852091.html

你可能感兴趣的文章
欧盟与美国的个人数据传输保护协议尘埃落定
查看>>
成都大数据三大平台正式上线
查看>>
华为与GE建立战略合作伙伴关系,加速工业物联网联合创新
查看>>
完善机制强化安全保障能力建设
查看>>
CIO访谈实录:英国电讯媒体集团首席信息官亨利·科恩
查看>>
微软称赞Windows Defender,卡巴斯基则嘲笑其没用
查看>>
浅谈软件测试用例
查看>>
每家企业应该知道的10家SaaS初创公司
查看>>
各种JDBC连接数据库的常用代码
查看>>
得大数据者得量化投资
查看>>
颠覆传统 微服务器剑指数据中心
查看>>
UCSB研发量子传感技术,具备纳米级别的空间分辨率
查看>>
智慧城市,美好生活刚开始
查看>>
混合云中如何阻断I/O瓶颈?
查看>>
Linux 64位操作系统安装配置java
查看>>
SolarCity欲为500万美国家庭搭建太阳能屋顶
查看>>
苹果进军印度市场到底有多难 连财政部长都不帮忙
查看>>
监控摄像机选型攻略之技术类型选用
查看>>
JAVA笔记——序列化
查看>>
《数据科学:R语言实现》——3.1 引言
查看>>