icode icode
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

iqqcode

保持对技术的探索实践与热爱
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JavaSE

  • JavaWeb

    • BootStrap

    • Cookie和Session

    • JavaScript

    • JDBC

    • JQuery

    • JSON

    • JSP

      • JSP基础
      • EL表达式
      • JSTL标签
        • MVC与三层架构理解
      • Maven

      • Servlet

      • Tomcat

      • XML

    • JavaEE

    • JavaTopic

    • 设计模式

    • 计算机基础

    • Java后端
    • JavaWeb
    • JSP
    iqqcode
    2021-06-17
    目录

    JSTL标签

    # JSTL简介

    【概念】:JavaServer Pages Tag Library JSP标准标签库,是由 Apache组织提供的开源的免费的jsp标签

    【作用】:用于简化和替换jsp页面上的java代码

    【使用步骤】

    1. 导入jst1相关jar包
    2. 引入标签库:taglib指合<‰@ taglib @‰>
    3. 使用标签

    # 常用的JSTL标签

    if

    c:if标签属性

    test时候必须属性,接受 boolean表达式

    • 如果表达式为true,则显示if 标签体内容;如果为 false,则不显示标签体内容
    • 一般情况下,test属性值会结合EL表达式一起使用

    注意:c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签

    choose (switch)

    <%--
            完成数字编号对应星期几案例:
            1.域中存储数字
            2.使用 choose标签取出数字   ---相当于switch声明
            3.使用when标签做数字判断    ---相当于case
            4.otherwise标签做其他情况的声明   ---相当于 defau1t
         --%>
        <%
            request.setAttribute("number" , 5);
        %>
        <c:choose>
            <c:when test="${number == 1}">星期一</c:when>
            <c:when test="${number == 2}">星期二</c:when>
            <c:when test="${number == 3}">星期三</c:when>
            <c:when test="${number == 4}">星期四</c:when>
            <c:when test="${number == 5}">星期五</c:when>
            <c:when test="${number == 6}">星期六</c:when>
            <c:when test="${number == 7}">星期日</c:when>
            <c:otherwise>input is error!</c:otherwise>
        </c:choose>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20

    foreach (for loop):相当于java代码的for语句

    I. 完成重复的操作

    for(int i = 0; i < 10; i++)

    属性

    • begin:开始值

    • end:结束值

    • var:临时变量

    • step:步长

    • varStatus:循环状态对象

      • index:容器中元素的索引(从0开始)

      • count:计数器,记录循环次数(从1开始)

    II. 遍历容器List

    • items:容器对象
    • var:容器中元素的临时变量
    • varstatus:循环状态对象
      • index:容器中元素的索引,从0开始
      • count:循环次数,从1开始

    # 表格案例

    需求:在 request域中有一个存有User对象的List集合。需要使用JSTL+EL将List集合数据展示到JSP页面的表格Tablel

    User

    public class User {
        private String name;
        private int age;
        private Date birthday;
    
        public User() { }
    
        public User(String name, int age, Date birthday) {
            this.name = name;
            this.age = age;
            this.birthday = birthday;
        }
    
        /**
         * 逻辑视图:在页面上按需求输出数据
         * @return
         */
        public String getBirStr() {
            if(birthday != null) {
                SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                return simpleDate.format(birthday);
            }else {
                return "";
            }
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int ade) {
            this.age = ade;
        }
    
        public Date getBirthday() {
            return birthday;
        }
    
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "name='" + name + '\'' +
                    ", ade=" + age +
                    ", birthday=" + birthday +
                    '}';
        }
    }
    
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59

    index.jsp

    <%@ page import="java.util.List" %>
    <%@ page import="com.iqqcode.domain.User" %>
    <%@ page import="java.util.ArrayList" %>
    <%@ page import="java.util.Date" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
      <head>
        <title>Table Demo</title>
      </head>
      <body>
        <%
          List list = new ArrayList();
          list.add(new User("A" ,18, new Date()));
          list.add(new User("B" ,22, new Date()));
          list.add(new User("C" ,95, new Date()));
          list.add(new User("D" ,26, new Date()));
    
          request.setAttribute("list", list);
        %>
    
      <table border="1" align="center" width="500">
        <%--表头--%>
        <tr>
          <th>编号</th>
          <th>姓名</th>
          <th>年龄</th>
          <th>生日</th>
        </tr>
        <%--数据行--%>
        <c:forEach items="${list}" var="user" varStatus="s">
          <%--更改背景色--%>
          <c:if test="${s.count % 2 == 0}">
            <tr bgcolor="#ffebcd">
              <td>${s.count}</td>
              <td>${user.name}</td>
              <td>${user.age}</td>
              <td>${user.birStr}</td>
            </tr>
          </c:if>
          <c:if test="${s.count % 2 != 0}">
            <tr bgcolor="#7fffd4">
              <td>${s.count}</td>
              <td>${user.name}</td>
              <td>${user.age}</td>
              <td>${user.birStr}</td>
            </tr>
          </c:if>
        </c:forEach>
      </table>
      </body>
    </html>
    
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52

    编辑 (opens new window)
    上次更新: 2021/06/27, 10:49:09
    EL表达式
    MVC与三层架构理解

    ← EL表达式 MVC与三层架构理解→

    最近更新
    01
    匿名内部类
    10-08
    02
    函数式接口
    10-08
    03
    ARouter-Kotlin踩坑
    10-05
    更多文章>
    Theme by Vdoing | Copyright © 2021-2023 iqqcode | MIT License | 备案号-京ICP备2021028793号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×