• JSTL(jsp标准标签库)


    JSTL

    简介

    全称:JSP Standard Tag Library

    中文名:JSP标准标签库

    作用:用于扩展JSP中的标签,能够为JSP页面提供流程控制、类型转换等功能的标签。替换JSP中代码脚本

    组成:

    功能范围URL前缀
    核心标签库http://java.sun.com/jsp/jstl/corec
    格式化http://java.sun.com/jsp/jstl/fmtfmt
    函数http://java.sun.com/jsp/jstl/functionsfn
    数据库(不使用)http://java.sun.com/jsp/jstl/sqlsql
    XML(不使用)http://java.sun.com/jsp/jstl/xmlx

    taglib指令引入标签库

    作用:引入其他网络标签库,类似于导包

    <%@ taglib prefix="前缀" uri="URL" %>
    
    • 1

    使用步骤:

    1,导入jstl-1.2.jarstandard-1.1.2.jar

    2,引入标签库,可以自动引入

    3,使用

    code核心库使用

    作用:可以给域中保存数据

    属性:

    ​ scope:设置保存在那个域

    ​ page 表示 PageContext域,默认值

    ​ request表示Request域

    ​ session表示Session域

    ​ application表示ServletContext域

    ​ var:键

    ​ value:值

    语法:

    示例:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
    	<%-- 注意:如果pageContext中存储,取值会报错 --%>
        使用set前取值:${requestScope.name}
        <%--  使用set存值--%>
        
        
    使用set后取值:${requestScope.name}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    作用:判断

    属性:

    ​ test:判断条件(使用EL表达式)

    语法:true时执行

    注意:没有else

    示例

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        
            

    相同

    不相同

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    choose开始判断

    when:一种判断情况,类似于else if或if

    ​ 属性:

    ​ test:当前判断条件

    otherwise:类似与else

    注意:

    ​ 1,when只要有一个成立就不会判断其他条件

    ​ 2,标签中不能使用html注释,可以使用jsp注释

    ​ 3,when的父标签必须是choose标签

    示例:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        
        
            
                

    成绩有误

    A

    B

    C

    D

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    作用:遍历

    属性:

    ​ var:遍历出的数据

    ​ begin:开始

    ​ end:结束

    ​ items:遍历的数据源

    ​ step 指定元素的间隔个数(默认为1,依次取出所有元素)

    语法:

    
    
    
    • 1
    • 2

    示例一:简单的遍历

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%--
      Created by IntelliJ IDEA.
      User: 小晨同学
      Date: 2022/11/17
      Time: 21:10
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        <%--
            for (int i = 0; i <= 10; i++) { }
        --%>
        
            ${i}
            
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    示例二:遍历数组

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        <%
            String[] names = {"德玛","蛮王","寒冰","剑圣"};
            request.setAttribute("list",names);
        %>
        
                
    姓名
    ${name}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    示例三:遍历集合

    <%@ page import="java.util.ArrayList" %>
    <%@ page import="com.qf.bean.User" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%--
      Created by IntelliJ IDEA.
      com.qf.bean.User: 小晨同学
      Date: 2022/11/17
      Time: 21:10
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
    <%
        ArrayList strings = new ArrayList<>();
        strings.add(new User("蛮王"));
        strings.add(new User("德玛"));
        strings.add(new User("剑圣"));
        request.setAttribute("list",strings);
    %>
    
            
    姓名
    ${u.name}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    示例四:遍历字典

    <%@ page import="java.util.ArrayList" %>
    <%@ page import="java.util.HashMap" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%--
      Created by IntelliJ IDEA.
      User: 小晨同学
      Date: 2022/11/17
      Time: 21:10
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        <%
            HashMap map = new HashMap<>();
            map.put("德玛",28);
            map.put("蛮王",18);
            map.put("剑圣",58);
            request.setAttribute("map",map);
        %>
        
                
    姓名 年龄
    ${entry.key} ${entry.value}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    fmt格式化

    作用:格式化数字

    属性:

    ​ value:值

    ​ pattern:格式

    ​ #:忽略前后0

    ​ 0:小数点后一位数字

    ​ .:小数符号

    ​ type:类型

    ​ 1,number:数字,默认保留三位

    ​ 2,currency:货币,保存到分,符号跟随当前系统

    ​ 3,percent:百分比,原数值*100舍去小数位

    示例:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        <%
            request.setAttribute("num",13.14159265354);
        %>
        <%-- 注意默认四舍五入 --%>
        保留两位小数:
        
    <%-- type:类型 number:数字,默认保留三位 currency:货币,保存到分,符号跟随当前系统 percent:百分比,原数值*100舍去小数位 --%>


    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    作用:格式化时间

    属性:

    ​ value:值

    ​ pattern:格式

    示例

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
       Title
    
    
       <%
           request.setAttribute("date",new Date());
       %>
       
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    C#(CSharp)入门实践项目(简易回合制游戏)
    docker将容器打包成新镜像
    思腾云计算
    如何查找无物流信息单号
    AMBA协议—AHB协议
    多个JDK版本可以吗:JDK17、JDK19、JDK1.8轻松切换(无坑版)小白也可以看懂
    AWS认证SAA-C03每日一题
    PMP考试提分必刷题
    LeetCode111 二叉树的最小深度
    【摆脱他人眼光的束缚】如何重视自我感受,做好自己
  • 原文地址:https://blog.csdn.net/qq761358496/article/details/127937089