JSTL标签库

一、什么是JSTL标签库

  • JSTL标签库全称是指JSP Standard Tag Library JSP标准标签库,是一个不断完善的开放源代码的JSP标签库。
  • EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本,这样使得整个jsp页面变得更佳简洁。

1. JSTL由五个不同功能的标签库组成

功能范围 URI 前缀
核心标签库 http://java.sun.com/jsp/jstl/core c
格式化 http://java.sun.com/jsp/jstl/fmt fmt
函数 http://java.sun.com/jsp/jstl/functions fn
数据库(不使用) http://java.sun.com/jsp/jstl/sql sql
XML(不使用) http://java.sun.com/jsp/jstl/xml x

2. 在jsp标签库中使用taglib指令引入标签库

  • CORE 标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • XML 标签库
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> 
  • FMT 标签库
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
  • SQL 标签库
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> ```
  • FUNCTIONS 标签库
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/f

二、JSTL标签库的使用步骤

1. 先导入jar包

在这里插入图片描述

2. 使用tahlib指令引入标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

三、core核心库使用

1.

	
    ${sessionScope.abc}
  • set 标签可以往域中保存数据
  • 域对象.setAttribute(key,value)
  1. scope 属性设置保存到哪个域
    page 表示 PageContext 域(默认值)
    request 表示 Request 域
    session 表示 Session 域
    application 表示 ServletContext 域
  2. var 属性设置 key 是多少
  3. value 属性设置值

2.

	
        

5等于5

5不等于5

  • 运行tomcat
    在这里插入图片描述
  • if 标签用来做 if 判断
  1. test 属性表示判断的条件(使用 EL 表达式输出)

3. 标签

	<% 
		request.setAttribute("height", 180); 
	%>
    
        
            

小巨人

很高

还可以

大于 160

大于 150

大于 140

其他小于 140
  • 运行tomcat
    JSTL标签库_第1张图片

设置不同的height值,会输出不同的结果

  • 多路判断,跟 switch … case … default 非常接近
  1. choose 标签开始选择判断
  2. when 标签表示每一种判断情况
    test 属性表示当前这种判断情况的值
  3. otherwise 标签表示剩下的情况
  • 标签使用时需要注意的点
  1. 标签里不能使用 html 注释,要使用 jsp 注释
  2. when 标签的父标签一定要是 choose 标签

4.

4.1 遍历1到10

 
            

第${i}行

4.2 遍历Object

	<%
        request.setAttribute("arr", new String[]{"13772193120","13778150254","18600000000"});
    %>
    
        ${ item } 

4.3 遍历Map

	<%
        Map map = new HashMap();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
        request.setAttribute("map", map);
    %>

    
        

${entry.key}:${entry.value}

4.4 遍历List

<%
        List studentList = new ArrayList();
        for (int i = 1; i <= 10; i++) {
            studentList.add(new Student(i,"username"+i,18+i,"男"));
        }
        request.setAttribute("stus", studentList);
    %>
    
            
编号 用户名 年龄 性别
${stu.id} ${stu.name} ${stu.age} ${stu.gender}
  • items 表示遍历的集合
  • var 表示遍历到的数据
  • begin 表示遍历的开始索引值
  • end 表示结束的索引值
  • step 属性表示遍历的步长值
  • varStatus 属性表示当前遍历到的数据的状态

你可能感兴趣的:(JavaWeb)