学习笔记九(JSTL)

JSTL

简介:JSP Standard Tag Library(JSP标准标签库)
JSTL由5个不同功能的标签库组成。分为:

1、核心:http://java.sun.com/jsp/jstl/core:c
2、格式化:http://java.sun.com/jsp/jstl/fmt:fmt
3、函数:http://java.sun.com/jsp/jstl/functions:fn
4、数据库:http://java.sun.com/jsp/jstl/sql:sql
5、XML:http://java.sun.com/jsp/jstl/xml:x
数据库和XML不使用,主要学习核心标签库的使用。

作用

  • JSTL替代JSP中的脚本中的代码。

核心标签(Core Tags)

使用JSTL
使用之前需要先导包,格式如下,使用jsp的taglib指令:

  • 导包:taglibs-standard-impl-1.2.1.jar
    taglibs-standard-spec-1.2.5.jar
  • <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
    (prefix表示标签名)

使用:

JSTL常用标签
1、<c:set>
<c:set>用于添加或修改域中的属性
可以设置的属性:

  • value
    作用:要设置的值
    参数类型:Object
  • var
    作用:表示域中存放的属性名。
    参数类型:String
  • scope
    作用:指定域(page、request、session、application),若不指定则为page域对象
    参数类型:String
  • target
    作用:要修改的域对象的属性名(必须是JavaBean或者Map)
    参数类型:Object
  • property
    作用:指定要修改的对象的属性名
    参数类型:String

例:
<c:set var=“变量名” value=“值” scope=“域范围”>
<c:set target=“对象名” property=“属性名” value=“属性值”>
设置属性:
<c:set var=“key” value=“value” scope=“request”></c:set>
修改属性:
<c:set property=“name” target="${user}" value=“孙悟空”></c:set>

2、<c:out>
<c:out>用于计算一个表达式并将结果输出到当前页面。功能类似于JSP表达式<%= >和EL表达式${}

可以设置的属性

  • value
    作用:要输出的值
    参数类型:Object
  • default
    作用:当value为null时显示的默认值。
    参数类型:Object
  • escaXml
    作用:是否对特殊字符进行转义。
    参数类型:boolean

例:
<c:out value=“值”>
<c:out value="${user.name}" default="" escapeXml=“true”></c:out>

3、<c:remove>
<c:remove>用于移除域中的属性

可以设置的属性:

  • var
    作用:设置要移除的属性的名字
    参数类型:String
  • scope
    作用:设置要移除属性所在的域,若不指定则删除所有域中的对应属性
    参数类型:String

例:
<c:remove var=“变量名” scope=“域范围”>
移除所有域中key属性:<c:remove var=“key”/>
移除request中的key属性: <c:remove var=“key” scope=“request”/>

4、<c:if>
<c:if>用于实现if语句的判断功能
可设置的属性

  • test
    作用:设置if判断的条件,用于判断标签体是否被执行
    参数类型:boolean
  • var
    作用:用于指定接收判断结果的变量名
    参数类型:boolean
  • scope
    作用:指定判断结果保存到哪个域
    参数类型:String

例:
<c:if test=“判断的结果为布尔值” var=“变量” scope=“域范围”>
<c:if test="${empty user }" var=“isUserEmpty” scope=“request”>
用户为空
</c:if>

5、<c:choose>、<c:when>、<c:otherwise>
<c:choose>、<c:when>、<c:otherwise>三个标签配合使用,功能类似于Java中的if/else
<c:choose>是<c:when>和<c:otherwise>的父标签

<c:when>的属性

  • test
    作用:用于设置判断条件,若正确则c:when中的代码执行,否则不执行
    参数类型:boolean
  • <c:otherwise>
    作用:如果所有的<c:when>都没有执行则执行<c:otherwise>的标签体

例:
<c:choose>
<c:when test="${param.age>=18 }">
您已经成年
</c:when>
<c:otherwise>
您未成年
</c:otherwise>
</c:choose>

6、<c:forEach>
<c:forEach>用于对多个对象的集合进行迭代,重复执行标签体,或者重复迭代固定的次数。

可设置属性:

  • var
    作用:设置遍历出对象的名称
    参数类型:String

  • items
    作用:指定要遍历的集合对象
    参数类型:数组、字符串和各种集合

  • varStatus
    作用:指定保存迭代状态的对象的名字,该变量引用的是一个LoopTagStatus类型的对象,通过该对象可以获得一些遍历的状态:

    • count
    • index
    • first
    • last
    • name

    参数类型:String

  • begin
    作用:指定遍历的开始位置
    参数类型:int

  • end
    作用:指定遍历的结束位置
    参数类型:int

  • step
    作用:迭代的步长
    参数类型:int

例:
<c:forEach var=“变量名” begin=“起始下标” end=“结束下标” step=“步长” item=“迭代的集合|数组”></c:forEach>

<c:forEach items="${list}" var=“user” begin=“0” end=“4” step=“2” varStatus=“vs”>
${vs.index} – ${user.name } – ${user.age }

</c:forEach>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值