zoukankan      html  css  js  c++  java
  • JSTL标签库简介

    JSTL叫做标准标签库,但实际上它是由5个功能不同的标签库组成。当使用标签库时,必须在jsp页面的顶部使用<%@  taglib %>指令定义引用的标签库和访问前缀。这5中标签库及taglib指令如下所示:

    (核心标签库)<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    (格式标签库)<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

    (SQL标签库)<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

    (XML标签库)<%@ taglib prefix="xml" uri="http://java.sun.com/jsp/jstl/xml" %>

    (函数标签库)<%@ taglib prefix="functions" uri="http://java.sun.com/jsp/jstl/functions" %>

    其中常用的就是(核心标签库)和(格式标签库)

    一:(核心标签库)(常用的)

    1.<c:out >将表达式的值输出到页面上相当于<%= %>或EL表达式${}

    (有两种语法格式,一种有标签体一种没有标签体,但是输出的结果都是相同的,value就是定义要输出的值)

    2.<c:set />变量设置标签

     

    3.流程控制标签:

    I、<c:if>条件判断标签,虽然没有对应的else标签,但是JSTL提供了<c:chose >, <c:when >, <c:otherwise >标签可以实现if else的功能。

    <c:if>有两种语法格式:

    语法一:

    语法二:

    II、<c:chose >, <c:when >, <c:otherwise >标签,在一个<c:choose>标签中可以包含多个<c:when>标签来处理不同条件的业务逻辑,但是只能有一个<c:otherwise>标签来处理默认条件的业务逻辑。(<c:chose >标签只能作为<c:when >, <c:otherwise >标签的父标签来进行使用,它没有相关的属性,另外在<c:chose >标签中除了空白字符外只能包括 <c:when >, <c:otherwise >标签

    实例如下:

    III、循环标签(常用的是<c:forEach>)

     <c:forEach>循环标签可以根据循环条件,遍历数组和集合类中的所有或者部分数据,它的语法格式也有两种。

    首先说明一下forEach中的各项属性:
    items:用于指定循环遍历的对象,多用于数组或者集合类。该属性的属性值可以使数组、集合类、字符串和枚举类型,一般通过EL表达式指定,(在集合成员迭代中这是必选属性),其他属性均是可选属性。
    var:用于指定循环体的变量名,该变量用于存储items指定的对象的成员。
    begin:用于指定循环的起始位置,如果没有指定,则从集合的第一个值开始迭代。可以使用EL。
    end:用于指定循环的终止位置,如果没有指定,则一直迭代到集合的最后一位。可以使用EL。
    step:用于指定循环的步长,可以使用EL。
    varStatus:用于指定循环的状态变量,该属性还有4个状态属性:
    index:int类型,当前循环的索引值,从0开始
    count:int类型,当前循环的循环计数,从1开始
    first:是否为第一次循环
    last:是否为最后一次循环

    语法一:集合成员迭代

     

    语法二:数字索引迭代

    当加上属性step时:

     

    <c:forEach>标签还可以加varStatus="idx",然后在里面我们可以进行判断比如${idx.index>0}或者${idx.index++}
    获取一个list集合的长度,可以使用fn函数

     要导入函数标签库<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

     ${fn:length(product.selllingPoints)} 

  • 相关阅读:
    Oracle创建用户并赋予权限
    Oracle查询表空间使用情况
    Oracle更改数据库文件大小、实时增加文件容量
    Oracle查询数据中占用空间最大的表
    Oracle存储包存储及案例
    Oracle包Package调用Package
    Oracle存储过程Procedure语法及案例
    Oracle存储过程function语法及案例
    Oracle常用语法
    Oracle游标循环更新数据案例
  • 原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6376212.html
Copyright © 2011-2022 走看看