栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb JSTL标签库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb JSTL标签库

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

 

在 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/functions" %> 2. JSTL 标签库的使用步骤         1、先导入 jstl 标签库的 jar 包。                 taglibs-standard-impl-1.2.1.jar                 taglibs-standard-spec-1.2.1.jar         2、第二步,使用 taglib 指令引入标签库。 3. core 核心库使用 3.1 (使用很少)         作用:set 标签可以往域中保存数据
域对象.setAttribute(key,value); 格式:         scope 属性设置保存到哪个域                 page 表示 PageContext 域(默认值)                 request 表示 Request 域                 session 表示 Session 域                 application 表示 ServletContext 域         var 属性设置 key 是多少         value 属性设置值
代码示例:

保存之前:${ requestScope.key }

保存之后:${ requestScope.key }

结果:

 

3.2 标签         if 标签用来做 if 判断
格式: 执行判断正确的语句          test 属性表示判断的条件(使用 EL 表达式输出)         开始标签与结束标签之间执行 判断正确的语句         注: 只会执行 执行判断正确的语句,不会执行判断错误的语句
代码示例:

    12等于12


    12不等于12

结果:

 

3.3 标签         作用:多路判断。跟 switch ... case .... default 非常接近
格式: < c :choose >         < c :when test ="EL表达式1 " >                 EL表达式1正确时 执行的语句                  < c :when test =" ${ EL表达式2 } " >                  EL表达式2正确时 执行的语句                  ...         < c :otherwise >                 以上 EL表达式都不正确时 执行的语句                  choose 标签开始选择判断         when 标签表示每一种判断情况         test 属性表示当前这种判断情况的值         otherwise 标签表示剩下的情况 标签使用时需要注意的点:         1、标签里不能使用 html 注释,要使用 jsp 注释         2、when 标签的父标签一定要是 choose 标签
代码示例:
<%
    request.setAttribute("height", 178);
%>

    
        身高大于190
    
    
        身高大于190
    
    
        身高大于170
    
    
        
            
                身高大于160
            
            
                身高大于150
            
            
                身高大于140
            
            
                身高小于或等于140
            
        
    

结果:

 

3.4 标签 作用:遍历输出使用。 属性介绍:
begin         属性设置开始的索引 end            属性设置结束的索引 var             属性表示循环的变量(也是当前正在遍历到的数据) items         表示遍历的集合 (相当于用于for增强) begin         表示遍历的开始索引值 end            表示结束的索引值 step          属性表示遍历的步长值

 

varStatus 属性表示当前遍历到的数据的状态         而Status类实现了LoopTagStatus接口,并实现了如下方法:
3.4.1 遍历 1 到 10,输出 代码:

<%--
begin 属性设置开始的索引
end 属性设置结束的索引
var 属性表示循环的变量(也是当前正在遍历到的数据)
for (int i = 1; i < 10; i++)
--%>

    
${i}

结果:

3.4.2  遍历数组

代码:


<%--
2.遍历 Object 数组
for (Object item: arr)
items 表示遍历的数据源(遍历的集合)
var 表示当前遍历到的数据
--%>
<%
    String[] arr = {"aaa", "bbb", "ccc", "ddd"};
    request.setAttribute("arrString",arr);
%>

    ${arr}

结果:

3.4.3  遍历 Map 集合  代码:

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

    ${map.key}:${map.value} 

结果:

3.4.4 遍历 List 集合

需求:list 中存放 Student 类,有属性:编号,用户名,密码,年龄, 电话信息

 Student类(构造器,set,get,tostirng略):

public class Student {
    private Integer id;
    private String username;
    private String password;
    private Integer age;
    private String phone;
}
jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



<%--
items 表示遍历的集合
var 表示遍历到的数据
--%>
<%
    List studentList = new ArrayList<>();
    for (int i = 1; i <= 10; i++) {
        studentList.add(new Student(i,"username"+i,"password"+i,15+i,"phone"+i));
    }
    request.setAttribute("studentList",studentList);
%>

        
编号 用户名 密码 年龄 手机号 操作
${list.id} ${list.username} ${list.password} ${list.age} ${list.phone} update/delete

结果:

3.4.5 通过遍历 List 集合了解属性  属性介绍:
begin         属性设置开始的索引 end            属性设置结束的索引 var             属性表示循环的变量(也是当前正在遍历到的数据) items         表示遍历的集合 (相当于用于for增强) begin         表示遍历的开始索引值 end            表示结束的索引值 step          属性表示遍历的步长值

varStatus 属性表示当前遍历到的数据的状态         而Status类实现了LoopTagStatus接口,并实现了如下方法:

代码示例:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



<%--
items 表示遍历的集合
var 表示遍历到的数据
--%>
<%
    List studentList = new ArrayList<>();
    for (int i = 1; i <= 10; i++) {
        studentList.add(new Student(i,"username"+i,"password"+i,15+i,"phone"+i));
    }
    request.setAttribute("studentList",studentList);
%>

        
编号 用户名 密码 年龄 手机号 当前遍历数据 当前索引 遍历次数 当前数据是否为第一条 当前数据是否为最后一条 begin属性值 end属性值 step属性值
${list.id} ${list.username} ${list.password} ${list.age} ${list.phone} ${status.current} ${status.index} ${status.count} ${status.first} ${status.last} ${status.begin} ${status.end} ${status.step}
结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028235.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号