文档章节

jstl标签库

Eviltuzki
 Eviltuzki
发布于 2015/02/14 22:15
字数 1099
阅读 210
收藏 17

<c:> 核心标签库 

==========================================================================

JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect

 

<c:forEach> 标签

-------------------------------------------------------------------

为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。

 

 <c:forEach> 标签的语法 说明

语法1:迭代一集合对象之所有成员


  1. <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
    本体内容  
    </c:forEach>

语法2:迭代指定的次数


  1. <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>  
    本体内容  
    </c:forEach>

 

<c:forEach> 标签的 属性说明

 

 

<c:forEach> 标签的 属性 : varStatus属性: 它的提供另外四个属性:index,count,fist和last,它们个自的意义如下:

Java代码  收藏代码

  1. 属性                   类型                                  意义  

  2. index                  number                    现在指到成员的索引  

  3. count                  number                    总共指到成员的总和  

  4. first                  boolean                   现在指到成员是否为第一个  

  5. last                   boolean                   现在指到成员是否为最后一个   

 

 

 <c:forEach> 遍历 List列表:

 对于一个基本类型的数组,当前元素将作为相应包装类(Integer、Float等等)的一个实例提供。


  1. <c:forEach items="${domainList }" var="item">  
    <tr>  
      <td align="center" valign="middle">${item["domain"]==null?"&nbsp;":item["domain"]}</td>  
      <td align="center" valign="middle"><fmt:formatDate value="${item['bind_date']}" pattern="yyyy-MM-dd HH:mm:ss"/></td>  
      <td align="center" valign="middle">  
        <c:if test="${item['domain']!=null}">  
        <a href="javascript:;" id="${item['domain']}" class="del">&nbsp;</a>  
        </c:if>  
        </td>  
    </tr>    
    </c:forEach>

 

 <c:forEach> 遍历Map:

 对于一个java.util.Map,当前元素则作为一个java.util.Map.Entry提供。


  1. <c:if test="${!empty permissionMap}">    
    <c:forEach items="${permissionMap}" var="item">  
    <tr>  
        <td>${item.value.id}</td>  
        <td>${item.value.urlOnClass}</td>  
        <td>${item.value.urlOnMethod}</td>  
    </tr>  
    </c:forEach>  
    </c:if>

 

<c:forTokens> 标签

-------------------------------------------------------------------

用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。

 

 <c:forTokens> 标签的语法 说明

  1. <c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]  
    [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
    本体内容  
    </c:forTokens>

 

<c:forTokens> 标签的 属性说明

 

 

<c:out> 标签

-------------------------------------------------------------------

主要用来显示数据的内容

 

 <c:out> 标签的语法 说明

语法1:没有本体(body)内容

Html代码  收藏代码

  1. <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"/>  

 

语法2:有本体内容

Html代码  收藏代码

  1. <c:out value="value" [escapeXml="{true|false}"]>  
    default value  
    </c:out>

<c:forEach> 标签的 属性说明

 

一般来说,<c:out>默认会将<、>、’、” 和 & 转换为 &lt;、&gt;、&#039;、&#034; 和&amp;。假若不想转换时,只需要设定<c:out>的escapeXml属性为fasle就可以了。

 

 

<c:set> 标签

-------------------------------------------------------------------

主要用来将变量储存至JSP范围中或是JavaBean的属性中。

 

 <c:set> 标签的语法 说明

语法1:将value的值储存至范围为scope的 varName 变量之中

Html代码  收藏代码

  1. <c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>  

 

语法2:将本体内容的数据储存至范围为scope的 varName 变量之中

Html代码  收藏代码

  1. <c:set var="varName" [scope="{ page|request|session|application }"]>  
    … 本体内容  
    </c:set>

 

语法3:将 value的值储存至 target 对象的属性中

Html代码  收藏代码

  1. <c:set value="value" target="target" property="propertyName" />  

 

语法4:将本体内容的数据储存至target 对象的属性中

Html代码  收藏代码

<c:set target="target" property="propertyName">  
… 本体内容  
</c:set>

<c:set> 标签的 属性说明

 

 

<c:remove> 标签

-------------------------------------------------------------------

主要用来移除变量。

 

 <c:remove> 标签的语法 说明

Html代码  收藏代码

  1. <c:remove var="varName" [scope="{ age|request|session|application }"/>  

 

<c:catch> 标签

-------------------------------------------------------------------

主要用来处理产生错误的异常状况,并且将错误信息储存起来。

 

 <c:catch> 标签的语法 说明

Html代码  收藏代码

<c:catch [var="varName"] >  
… 欲抓取错误的部分  
</c:catch>

 

<c:if> 标签

-------------------------------------------------------------------

的用途就和我们一般在程序中用的if一样。

 

 <c:if> 标签的语法 说明

语法1:没有本体内容(body)

Html代码  收藏代码

  1. <c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>  

 

语法2:有本体内容

Html代码  收藏代码

  1. <c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>  
    本体内容  
    </c:if>

示例:

 

Html代码  收藏代码

  1. <c:if test="${not empty item.publish_time}">  
    内容  
    </c:if>  
      
    <c:if test="${item['domain']!=null}">  
    内容  
    </c:if>  
      
    <c:if test="${!empty permissionMap}">   
    内容  
    </c:if>

 

 

c:choose> <c:when> <c:otherwise>   标签

-------------------------------------------------------------------

 <c:choose when otherwise> 标签的语法 说明

Html代码  收藏代码

  1. <c:set var="score">85</c:set>  
    <c:choose>  
    <c:when test="${score>=90}">  
    你的成绩为优秀!  
    </c:when>  
    <c:when test="${score>=70&&score<90}">  
    您的成绩为良好!  
    </c:when>  
    <c:when test="${score>60&&score<70}">  
    您的成绩为及格  
    </c:when>  
    <c:otherwise>  
    对不起,您没有通过考试!  
    </c:otherwise>  
    </c:choose>

 

 


本文转载自:http://elf8848.iteye.com/blog/245559

共有 人打赏支持
Eviltuzki
粉丝 5
博文 31
码字总数 11990
作品 0
朝阳
程序员
JavaWeb12-HTML篇笔记(二)

Ø 为什么学习JSTL: JSTL和EL结合 替换页面中<%%> Ø JSTL版本: JSTL1.0 :不支持EL表达式. JSTL1.1 和 1.2 :支持EL表达式. Ø JSTL的标签库:包含了五类标签. core(核心标签),fmt(国际化标签)...

我是小谷粒
05/28
0
0
浅谈jsp、freemarker、velocity区别

以前做web开发页面层用的基本就是就是,最近公司java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的...

cccyb
2017/10/21
0
0
初识 JSP---(JSTL)

JSTL jsp标准标签库(jstl)是一个JSP标签集合,它封装了jsp应用的通用核心功能。 JSTL支持通用的、格式化的任务。比如:迭代、条件判断、XML文档操作、国际化标签、SQL标签。除了这些它还提...

姜白告
08/03
0
0
(JavaEE-09)JSP中的MVC与三层架构

JSP开发模式 SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式 JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用...

_-Leon-_
2014/07/11
0
2
重温JSP学习笔记--三大指令九大内置对象

最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记:   JSP三...

冬至饮雪
2016/01/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Access denied for user 'root'@'localhost' 解决流程

ERROR 1698 (28000): Access denied for user 'root'@'localhost' 解决流程 基于debian 9 maridb 10 因为安装 时不知道 密码,所以在管理中下使用 mysqladmin -u root -p password ex(ex为密......

dragon_tech
40分钟前
0
0
nginx 负载均衡

一.配置方式 1.轮询(默认) 优点:实现简单; 缺点:不考虑每台服务器处理能力 2.权重 weight默认是1。如果有多个配置权重的节点,比较相对值。 15:10,只代表访问8080端口的概率是访问908...

imbiao
今天
3
0
jQuery学习笔记180923

jQuery 操作 CSS jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些: addClass() - 向被选元素添加一个或多个类 removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选...

颖伙虫
今天
2
0
[python] colorama 模块 - 改变控制台输出文本的颜色

除了使用 PyQt 这样的图形化开发框架外,基本上 python 程序都是跑在控制台中的。很多时候,单纯使用黑白的文字不能很好地突出我们要显示的信息。有时候我们需要将错误的提示使用红色标注,而...

cometeme
今天
3
0
Makefile 学习 2 - 基于若干 Blog 的汇总

基于若干 Blog 汇总的 makefile 教程 陈皓 https://blog.csdn.net/haoel/article/details/2886 Makefile 进阶 1. Makefile 中的内容 显式规则。显式规则说明了,如何生成一个或多的的目标文件...

公孙衍
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部