[1] JSTL简介
    > JSTL是JSP的标准标签库
    > JSTL为我们提供了一些常用的标签,供我们日常开发使用(if 、 if...else 、遍历 、 日期格式化)

    > 标签库
    - core :核心标签库
    - 最常用的一个标签库,也就是我们熟悉c标签。

    - fn :函数标签库
    - 函数标签库它需要结合EL表达式使用,主要定义了一些字符串操作的方法。

    - fmt :格式化标签库
    - 主要用来做日期、数字的格式化以及国际化
    - 20151019 2015/10/19 10/19/2015
    - 10000 10,000

    - sql : 数据库标签库
    - 主要用来在JSP中操作数据库的,已淘汰

    - xml : xml标签库
    - 主要用来在JSP操作解析XML文档,已淘汰

    > JSTL的使用
    使用JSTL需要先导入两个jar包
        taglibs-standard-impl-1.2.1.jar
        taglibs-standard-spec-1.2.1.jar

[2] 核心标签库
    - 导入核心标签库
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    - 核心标签库一般使用c作为前缀,所以我们也称核心标签库为c标签。
    - c标签是我们JSTL中最常用的一个标签库,它里边封装了很多开发中常用的功能。

    c:out
    作用:向页面中输入一个内容,一般要结合EL表达式使用!
    例子:<c:out value="" default="" escapeXml=""></c:out>
    属性:
    value : 要输出内容
    default : 当内容为空时显示的默认值
    escapeXml : 是否自动转义特殊字符,默认值为true 自动转义,一般不修改该属性

    c:set
    作用:向域中设置一个属性
    例子:<c:set var="name" value="孙悟空" scope="request"></c:set>
    属性:
    var :向域中存储的属性名
    value :向域中存储的属性值
    scope :向那个域中添加属性,四个可选值(page request session application),默认是page

    c:remove
    作用:移除域中的一个属性
    例子:<c:remove var="name" scope="session"/>
    属性:
    var :要移除的属性的名字
    scope :要移除的属性所在的域,四个可选值(page request session application)
    如果不设置该属性,则默认移除四个域中指定属性。

    c:if
    作用 :相当于java中if语句
    例子:
    <c:if test="${empty param.name }">
    <h3>您没有输入name属性!</h3>
    </c:if>
    属性:
    test :接收一个boolean类型的值
    如果test的值为true则标签体执行
    否则不执行标签体

    c:choose c:when c:otherwise
    作用:相当于if...else
    例子:
    <c:choose>
    <c:when test="${param.score == 100 }">
    <h3>恭喜您考了100分!</h3>
    </c:when>
    <c:otherwise>
    <h3>恭喜你,你不及格!</h3>
    </c:otherwise>
    </c:choose>
    属性:
    when标签中的test属性:
    接收一个boolean类型的值
    如果test的值为true则标签体执行
    否则不执行标签体

    注意:在choose标签中可以指定多个when标签,但是只有一个when会执行。
    当所有的when标签都不执行时,则otherwise标签执行。

    c:when和c:otherwise不能脱离c:choose使用。

    c:forEach
    作用:可以在页面中对集合进行遍历
    例子:
    <c:forEach items="${list}" var="hero">
    ${hero} <br />
    </c:forEach>

<c:forEach items="${map }" var="user">
    ${user.key} --- ${user.value} <br />
    </c:forEach>
    属性:
    items:要遍历的集合
    var:对集合中的对象引用的名字

    注意:在遍历Map时,返回的是一组一组的键值对结构
    我们可以通过对象.key获取键,通过对象.value获取值

    作用:可以用来遍历一组数
    例子:
    <c:forEach begin="1" end="20" var="index" step="1">
    <a href=#>${index}</a>
    </c:forEach>
    属性:
    begin :开始的位置,注意begin不能小于0
    end :结束的位置
    var :引用的名字
    step :步长,每次自增的大小

    c:url
    作用:可以创建一个完整的绝对路径
    例子:
    <c:url value="/index.jsp">
    <c:param name="name" value="孙悟空"></c:param>
    <c:param name="age" value="18"></c:param>
    </c:url>
    属性:
    value:要设置的地址,注意该地址要以/开头,否则不会加上项目名
    在url标签中可以添加c:param标签,可以自动为地址拼接上请求参数。

    c:redirect
    作用:请求的重定向
    例子:
    <c:redirect url="/index.jsp">
    <c:param name="name" value="唐僧"></c:param>
    </c:redirect>
    属性:
    url:
    重定向到目标地址,注意该地址不要自己添加项目名。
    在redirect标签中可以添加c:param标签,可以自动为地址拼接上请求参数。

    注意:redirect标签会自动为我们设置项目名,不需要我们手动设置!

    设置绝对路径的三种方式:
    1.<c:set var="ctx" value="${pageContext.request.contextPath }"></c:set>
    使用这种方式,可以通过${ctx}在页面中代替项目名

    2.使用<c:url value="/index.jsp"></c:url>
    使用url标签,它会自动为绝对路径加上项目名

    3.<base href="http://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath }/" />
    使用base标签可以为页面中所有的相对路径,加上项目名

[3] 函数标签库
    作用:函数标签库需要配合EL表达式使用,它里面的方法都是一些字符串的操作
    引入函数标签库:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

例子:

    ${fn:contains("hello","He") } <br /> 判断前一个字符串是否包含后一个字符串

    ${fn:containsIgnoreCase("hello","He") } <br /> 判断前一个字符串是否包含后一个字符串,不区分大小写

${fn:endsWith("hello","alo") }<br /> 判断前一个字符串是否以后一个字符串结尾

<!-- 自动将特殊字符转义 -->
${fn:escapeXml("<html></html>") }<br /> 自动将特殊字符进行转义

<!-- fn:join用于将一个String数组转换一个字符串,第二个参数代表的连接符 -->
${fn:join(strs,",") }<br /> 将一个String数组,以指定字符串拼接为一个新的字符串

${fn:split("a,b,c,d,e",",")[2] }<br /> 将一个字符串,以指定字符拆分为一个字符数组

${fn:trim(" abcd ") }<br /> 去掉字符串的前后空格

剩下方法参照 alt+/

JSP 标准标签库(JSTL)(JSP Standard Tag Library)的更多相关文章

  1. JSTL 标准标签库 (JavaServer Pages Standard Tag library, JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决 像遍历Map或集合.条件测试.XML处理,甚至数据 库访问和数 ...

  2. JSP标准标签库JSTL

    1.什么是JSTL? JSP标准标签库(JSP Standard Tag Library) 2.JSTL标准标签库中的常用标签 JSTL是JSP页面的标签库,实质上是一段Java代码.我们常用的是它的 ...

  3. JSP标准标签库(JSTL)--JSTL简介与安装

    对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...

  4. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  5. jsp标准标签库——jstl

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

  6. JSP 标准标签库JSTL

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

  7. 标准标签库JSTL(JSP Standard Tag Library)

    1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default---默认值 escapeXml---控制转义字符(默认为true, 如果需要 ...

  8. JSP标准标签库(JSTL)--XML标签库 x

    ³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理.  XML标 ...

  9. JSP标准标签库(JSTL)--SQL标签库 sql

    了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...

  10. JSP标准标签库(JSTL)--核心标签库 c

    核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...

随机推荐

  1. js几秒以后倒计时跳转示例

    代码如下: <html> <head> <title>出错啦~~~</title> <link href="css/login1.css ...

  2. [TYVJ1728/BZOJ3224]普通平衡树-替罪羊树

    Problem 普通平衡树 Solution 本题是裸的二叉平衡树.有很多种方法可以实现.这里打的是替罪羊树模板. 此题极其恶心. 前驱后继模块需要利用到rank模块来换一种思路求. 很多细节的地方容 ...

  3. ftp站点密码破解

    启动流光软件,在"F T P 主机"点击鼠标右键选择"编辑 | 添加",然后添加想要利用的那个 F T P 地址,然后在弹出的对话框添加欲利用的主机,FTP 主 ...

  4. 使用mysqldump备份数据库

    #! /bin/shday_str=`date +%j`day=`date +%Y%m%d`days_str=`echo "$day_str % 60"|bc`cd /home/d ...

  5. 【微信小程序】wx.openLocation调取失败

    在调取地图的时候发现,wx.openLocation的方法在模拟器和安卓手机上都可以用,在苹果手机上报错. 报错为调取失败:fail invoke too frequently             ...

  6. monkeyscript - 定制化monkey流程

    作为移动端测试必须掌握的初级Android稳定性工具:monkey,提到它时,脑海里一般涌现出两句话: 1.我会用,很简单 就是一行命令,一回车就开始跑起来了 2.使用问题多,不好用 太随机,很多操作 ...

  7. spring AOP原理

    spring 实现AOP是依赖JDK动态代理和CGLIB代理实现的.以下是JDK动态代理和CGLIB代理简单介绍    JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行期间创建一个接口的 ...

  8. 利用Unity3D与Oculus实现机器情绪安抚师的一种方案

    (一张最原始的Unity3D中音乐可视化粒子海的图,想象一下,如果这幅场景出现在虚拟设备中,辅以根据音乐频谱变化的色彩与悦动频率,会是怎样的效果呢?) Unity3D有着非常完备的虚拟三维场景交互开发 ...

  9. webpack web-dev-server 热加载

    摘要 坑位: 千万不要webpack.config.js 加了HotModuleReplacementPlugin , web-dev-server 也加hot:true 配置, 会出现莫名的错误, ...

  10. 存储结构比较vector,list,dequeue,stack(转)

        vector适用:对象数量变化少,简单对象,随机访问元素频繁list适用:对象数量变化大,对象复杂,插入和删除频繁最大的区别是,list是双向的,而vector是单向的.因此在实际使用时,如何 ...