`

JSTL中c:set标签的要点和技巧

阅读更多

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”指定的对象,容器会抛出一个异常。

分享到:
评论

相关推荐

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    ◎ JSTL的基本概念、安装与配置...◎ JSTL的通用标记:&lt;c:out&gt;、&lt;c:set&gt;、&lt;c:remove&gt;和&lt;c:catch&gt;标记 ◎ 条件处理标记:&lt;c:if&gt;、&lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标记 ◎ 循环标记:&lt;c:forEach&gt;和&lt;c:forTokens&gt;标记

    JSTL中if标签使用方法

    &lt;c:if&gt; &lt;c:if&gt;的用途就和我们一般在程序中用的if一样。  语法  语法1:没有本体内容(body)  &lt;c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/&gt;  语法2:有本体内容  ...

    JSTL标签JSTL标签

    JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签

    jstl标签库.txt

    jstl标签库.txtjstl标签库.txt

    JavaWeb-12:自定义标签库开发&JSTL标签库

    JavaWeb-12:自定义标签库开发&JSTL标签库

    jstl标签详解jstl标签详解jstl标签详解

    jstl标签详解jstl标签详解jstl标签详解jstl标签详解jstl标签详解jstl标签详解jstl标签详解

    JSTL开发使用手册

    &lt;c:set&gt;?标签? 用于删除的 &lt;c:remove&gt;?标签? 用于异常捕获的?&lt;c:catch&gt; 标签 用于判断的?&lt;c:if&gt; 标签 用于复杂判断的 &lt;c:choose&gt;?、 &lt;c:when&gt;?、 &lt;c:otherwise&gt;?标签? 用于循环的 &lt;c:forEach&gt;?标签 用于分隔...

    JSTL标签大全

    JSTL标签大全,涵盖JSTL教程 JSTL标签库使用方法: 标签库 URI 前缀 使用模式 核心标签库 http://java.sun.com/jstl/core c &lt;c:tagname…&gt; 国际化标签(I18N) ...

    JSTL_fn标签 字符处理标签

    jstl 字符串处理函数 fn:length、fn:contains 、 fn:containsIgnoreCase 、 fn:endsWith 、 fn:escapeXml 、 fn:indexOf 、 fn:join 、 fn:replace 、 fn:split 、 fn:startsWith 、 fn:substring 、 fn:...

    JSTL 以及自定义标签开发相关

    JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...

    JSTL标签-讲解及实例

    JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签:标签 URI 前缀 示例 Core http://java.sun.com/jstl/core c &lt;c:tagname ...&gt; XML processing ...

    jstl标签使用的总结心得

    本人对jstl的一点小总结 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。...JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签:

    JSTL中文帮助文档

    JSTL中文帮助文档

    JSTL标准标签库

    JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及

    java中jstl(C标签)案例

    java中jstl(C标签)案例,讲述jstl常用标签!而且不有一大堆的案例!

    Struts标签 和jstl标签

    Struts标签 和jstl标签Struts标签 和jstl标签

    JSTL(jsp标准标签库)

    JSTL jsp标准标签库 word文档

    JSTL标签库

    在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大和不利于技术标准化产生了自定义标签库。JSTL标签库可分为5类:  核心标签...

    JSTL--Core标签详解

    在 JSTL1.1 中有以下这些标签库是被支持的: Core 标签库、 XML processing 标签库、 I18N formatting 标签库、 Database access 标签库、 Functions 标签库。

    jstl标签使用文档,jstl标签使用帮助文档

    jstl标签使用文档,jstl标签使用帮助文档

Global site tag (gtag.js) - Google Analytics