`
i_am_birdman
  • 浏览: 280689 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JSTL 详解01

阅读更多

General-Purpose Actions

<c:out>

Without a body

<c:out value=”value ” [escapeXml=”{true|false}”]

[default=”defaultValue”] />

With a body

<c:out value=”value ” [escapeXml=”{true|false}”]>

default value

</c:out>

参数说明

Value :需要借助 EL 表达式来进行输出,不能直接写在域中的 Key

escapeXml :是否对输出进行 XML 格式化,如果输出内容是 HTML 且该属性为 true 的话则直接输出

default :默认输出值,也可以如实例在标签内写默认值

如:

Html代码
  1. < c:out   value = "${abc}"   default = "123" />   
  2. < c:out   value = "${abc}" > 123 </ c:out >   
  3. 如果域内有Key为abc的值则输出否则输出默认值 123  
  4. < c:out   value = "${bj}" />   
  5. < c:out   value = "${bj}"   escapeXml = "true" />   
  6. < c:out   value = "${bj}"   escapeXml = "false" />   
  7. ${bj }  
  8. request.setAttribute("bj", "< font   color = 'red' > 北京欢迎您 </ font > ");  
<c:out value="${abc}" default="123"/>
<c:out value="${abc}">123</c:out>
如果域内有Key为abc的值则输出否则输出默认值 123
<c:out value="${bj}"/>
<c:out value="${bj}" escapeXml="true"/>
<c:out value="${bj}" escapeXml="false"/>
${bj }
request.setAttribute("bj", "<font color='red'>北京欢迎您</font>");

 

 

 

 

直接输出, escapeXml = "true" 和使用 EL 表达式输出都会直接输出 bj 的值,而 escapeXml = "false" 会输出字体为红色的对应值

 

<c:set>

Syntax 1: Set the value of a scoped variable using attribute value

<c:set value=”value

var=”varName” [scope=”{page|request|session|application}”]/>

Syntax 2: Set the value of a scoped variable using body content

<c:set var=”varName” [scope=”{page|request|session|application}”]>

body content

</c:set>

参数说明

Value :要进行赋的值,也可以在标签内赋值

Var :保持的变量的名称

Scope :保持在那个域中

如:

 

Html代码
  1. < c:set   value = "123"   var = "temp" />   
  2. < c:set   var = "temp1" >   
  3.     456  
  4. </ c:set >      
  5. temp:${temp }  
  6. temp1:${temp1 }  
<c:set value="123" var="temp"/>
<c:set var="temp1">
    456
</c:set>   
temp:${temp }
temp1:${temp1 }

 

 

 

 

<c:remove>

<c:remove var=”varName”

[scope=”{page|request|session|application}”]/>

参数说明:

Var :要移除的变量的 Key

如:

Html代码
  1. < c:remove   var = "temp" />   
<c:remove var="temp"/>

 

 

 

 

 

<c:catch>

<c:catch [var=”varName”]>

nested actions

</c:catch>

参数说明:

Var :异常信息

可能出异常的代码放置在标签内即可

如:

Html代码
  1. < c:catch   var = "exinfo" >   
  2.     < %  
  3.        Integer.parseInt("asdfsdf");  
  4.     %>   
  5. </ c:catch >   
  6. ${exinfo }  
<c:catch var="exinfo">
    <%
       Integer.parseInt("asdfsdf");
    %>
</c:catch>
${exinfo }

 

 

 

 

Conditional Actions

<c:if>

Syntax 1: Without body content

<c:if test=”testCondition

var=”varName ” [scope=”{page|request|session|application}”]/>

Syntax 2: With body content

<c:if test=”testCondition

[var=”varName ”] [scope=”{page|request|session|application}”]>

body content

</c:if>

参数说明:

Test Boolean 型的值,用于进行判断

Var True False ,比较结果

Scope :比较结果的保存域

如:

Html代码
  1. < c:if   test = "${v1 lt v2}"   var = "v" >   
  2.     v1小于v2  
  3. v =${v }  
  4. </ c:if >   
  5. < c:if   test = "${empty v3}" >   
  6.     v3为空  
  7. </ c:if >   
<c:if test="${v1 lt v2}" var="v">
    v1小于v2
v=${v }
</c:if>
<c:if test="${empty v3}">
    v3为空
</c:if>

 

 

 

 

输出项只有条件成立的时候才会执行

 

<c:choose>

<c:when>

<c:otherwise>

三者结合使用 <C:chose> 必须有一个 <C:when> <C:when> 必须在 <C:otherwise> 前面, <C:when> 可以有多个, <C:otherwise> 只能有一个。

<c:choose>

body content (<when> and <otherwise> subtags)

</c:choose>

<c:when test=”testCondition ”>

body content

</c:when>

<c:otherwise>

conditional block

</c:otherwise>

参数说明:

Test Boolean 型的值,用于进行判断

如:

Html代码
  1. < c:choose >   
  2.     < c:when   test = "${v1 lt v2}" >   
  3.        v1小于v2< br >   
  4.     </ c:when >   
  5.     < c:otherwise >   
  6.        v1大于v2< br >   
  7.     </ c:otherwise >   
  8. </ c:choose >   
<c:choose>
    <c:when test="${v1 lt v2}">
       v1小于v2<br>
    </c:when>
    <c:otherwise>
       v1大于v2<br>
    </c:otherwise>
</c:choose>

 

 

 

 

 

<c:forEach>

Syntax 1: Iterate over a collection of objects

<c:forEach[var=”varName ”] items=”collection

[varStatus=”varStatusName ”]

[begin=”begin ”] [end=”end ”] [step=”step ”]>

body content

</c:forEach>

Syntax 2: Iterate a fixed number of times

<c:forEach [var=”varName ”]

[varStatus=”varStatusName ”]

begin=”begin ” end=”end ” [step=”step ”]>

body content

</c:forEach>

参数说明

Items :要输出的集合

Var :保存每次循环的变量

varStatus :状态,如已经输出到多少行

begin :如果集合有多条数据,可以指定从那条数据开始输出

end :指定到哪里结束

step :多条数据输出的增长幅度

如:

Html代码
  1. < table   border = "1" >   
  2.     < tr >   
  3.        < td > 姓名 </ td >   
  4.        < td > 年龄 </ td >   
  5.        < td > 所属组 </ td >   
  6.     </ tr >   
  7.     < c:choose >   
  8.        < c:when   test = "${empty userlist}" >   
  9.            < tr >   
  10.               < td   colspan = "3" > 没有符合条件的数据! </ td >   
  11.            </ tr >   
  12.        </ c:when >   
  13.        < c:otherwise >   
  14.            < c:forEach   items = "${userlist}"   var = "user"   begin = "2"   varStatus = "vst"   end = "8"   step = "1" >   
  15.               < c:choose >   
  16.               < c:when   test = "${vst.count % 2 == 0}" >   
  17.                   < tr   bgcolor = "red" >   
  18.               </ c:when >   
  19.               < c:otherwise >   
  20.                   < tr >   
  21.               </ c:otherwise >   
  22.            </ c:choose >   
  23.                   < td > ${user.username} </ td >   
  24.                   < td > ${user.age} </ td >   
  25.                   < td > ${user.group.name } </ td >   
  26.               </ tr >   
  27.            </ c:forEach >   
  28.        </ c:otherwise >   
  29.     </ c:choose >  

分享到:
评论

相关推荐

    JSTL详解

    JavaServer Pages Standard Tag Library (JSTL) 是一套用于简化JSP开发的标签库,它提供了许多预定义的标签,让开发者能够以更简洁、更易于理解和维护的方式编写JSP页面。JSTL的主要目标是减少在JSP页面中使用脚本...

    JSTL详解 DOC文档 较全的JSTL标记说明

    ### JSTL详解 #### 一、JSTL简介与环境搭建 JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是为简化和标准化 JavaServer Pages 开发而设计的一组标准标签。通过使用 JSTL,开发者...

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

    在实际开发中,`JSTL_标签库详解(一个不漏).doc`和`JSTL核心标签库.doc`这样的文档是极有价值的参考资料,它们详细解释了每个标签的用法、属性以及示例,可以帮助开发者快速理解和掌握JSTL的使用。确保阅读并理解...

    JSTL详解---附源码

    **JSTL详解** JSTL,全称JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它提供了一套用于处理常见JSP任务的标签,如迭代、条件判断、XML处理等,旨在减少在JSP页面中的脚本代码,提高页面的...

    EL JSTl详解word文档

    **JSTL (JavaServer Pages Standard Tag Library)** 是一套用于简化JSP开发的标签库,由Apache Jakarta组织维护,并遵循Sun公司的Java规范。它旨在提供一种标准的方式来处理常见的页面逻辑,减少在JSP中直接使用Java...

    Java版数据结构和IO结构图+JSTL详解

    本资料包涵盖了三个关键主题:Java数据结构、IO(输入/输出)结构图以及JSTL(JavaServer Pages Standard Tag Library)的详解,这些都是Java开发中的核心概念。下面将逐一深入探讨这些知识点。 首先,我们来谈谈...

    JSTL详解--Core 标签库介绍

    **JSTL详解--Core标签库介绍** JavaServer Pages(JSP)标准标记库(JSTL)是一个关键的工具,旨在减少JSP页面中的脚本元素,提高代码的可维护性和可读性。JSTL包含了一系列定制的标记库,用于实现常见的Web应用...

    JSTL详解--jsp页面编写规范详解

    ### JSTL详解—JSP页面编写规范 #### 概述 JSTL(JSP Standard Tag Library,JSP标准标签库)是一种被广泛应用于JavaServer Pages (JSP) 页面中的标准化标签库,旨在简化JSP页面开发过程,提高代码可读性和可维护...

    el与jstl详解

    - **引入必要的JAR包**:为了使用JSTL,需要在项目中添加`jstl-1.2.jar`和`standard.jar`两个JAR包。 - **定义标签库前缀**:在JSP页面顶部使用`&lt;%@ taglib %&gt;`指令定义JSTL的前缀。例如: ```jsp ...

    JSTL详解--EL表达式

    **JSTL(JavaServer Pages Standard Tag Library)**是Java社区为了解决JSP页面中大量Java代码嵌入问题而提出的一种标准标签库。它提供了一系列的预定义标签,用于简化JSP页面的开发,增强可读性和可维护性。JSTL的...

    JSTL详解.pdf

    在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示 逻辑已经不是新技术了...鉴于此,出现了 JSTL(JSP Standard Tag Library)。大多数 JSP 页面逻辑 提供了实现的 JSTL 技术,该技术本身就是一个标签库。

    JSTL详解--标签库介绍.doc

    ### JSTL详解--标签库介绍 #### 一、引言 JSTL(JavaServer Pages Standard Tag Library),即JavaServer Pages标准标签库,是一种专为简化和增强JSP(JavaServer Pages)页面开发而设计的技术。通过提供一组预定...

    java jstl学习详解过程

    ### Java JSTL 学习详解过程 #### JSTL简介 JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是一组由 Sun Microsystems 提供的标准标签库,它允许开发者在 JSP 页面中使用预定义的...

    JSTL详解,一份很不错的JSTL学习文档

    **JSTL(JavaServer Pages Standard Tag Library)**是Java服务器端的一个标准标签库,它提供了一系列的标签来简化JSP页面的开发,使得开发者能够更专注于业务逻辑而不是底层的Java代码。本篇文档将深入讲解JSTL的核心...

Global site tag (gtag.js) - Google Analytics