JSTL_常用标签_hehe.employment.over.17.4

文章目录

  • 17.7 JSTL_概述
  • 17.8 JSTL_常用标签
    • 17.8.1 if 标签
    • 17.8.2 choose 标签
    • 17.8.3 forEach 标签
  • 17.9 JSTL_案例_表格

17.7 JSTL_概述

  • JSTLJavaServer Pages Tag Library JSP标准标签库
    • 是由Apache组织提供的开源的免费的jsp标签 <标签>
  • 作用:用于简化和替换jsp页面上的java代码 .
  • 使用步骤:
    • 1.在 web/WEB-INF/lib 目录中导入jstl相关jar包:
      • javax.servlet.jsp.jstl.jar
      • jstl-impl.jar
    • 2.引入标签库: taglib指令: <%@ taglib %>
      • 示例: <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    • 3.使用标签。

17.8 JSTL_常用标签

17.8.1 if 标签

  • if : 相当于java代码的if语句。
  • 属性:
    • test必须属性,接受boolean表达式。
      • 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
      • 一般情况下,test属性值会结合el表达式一起使用
  • note:
    • c:if 标签没有else情况,想要else情况,则可以在定义一个c:if标签。
  • 示例:
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: 徐巍巍
  Date: 2021/2/12
  Time: 11:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Titletitle>
head>
<body>
    <%
        //判断request域中的一个list集合是否为空,如果不为null则显示遍历集合
        List list = new ArrayList();
        list.add("aaaa");
        request.setAttribute("list",list);
        request.setAttribute("number",4);
    %>
    <c:if test="${not empty list}">
        遍历集合...

    c:if>
    <br>

    <c:if test="${number % 2 != 0}">
        ${number}为奇数
    c:if>
    <c:if test="${number % 2 == 0}">
        ${number}为偶数
    c:if>
body>
html>

17.8.2 choose 标签

  • choose : 相当于java代码的switch语句
    • 1.使用choose标签声明 ——相当于switch声明
    • 2.使用when标签做判断——相当于case
    • 3.使用otherwise标签做其他情况的声明——相当于default
  • 示例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

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

<html>
<head>
    <title>choose标签title>
head>
<body>

    <%
        request.setAttribute("number",51);
    %>
    <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>数字输入有误c:otherwise>
    c:choose>


body>
html>

17.8.3 forEach 标签

  • forEach : 相当于java代码的for语句
  • 1.完成重复的操作
    • Java语句for(int i = 0; i < 10; i ++){ }
    • 属性:
      • begin开始值
      • end结束值
      • var临时变量
      • step步长
      • varStatus:循环状态对象
        • index:容器中元素的索引从0开始
        • count:循环次数从1开始
  • 2. 遍历容器
    • Java语句: List list; for(User user : list){ }
    • 属性:
      • items : 容器对象
      • var : 容器中元素的临时变量
      • varStatus : 循环状态对象
        • index : 容器中元素的索引从0开始
        • count : 循环次数从1开始
  • 示例:
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%--
  Created by IntelliJ IDEA.
  User: 徐巍巍
  Date: 2021/2/12
  Time: 11:53
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>foreach标签title>
head>
<body>
    <c:forEach begin="1" end="5" var="i" step="2" varStatus="s">
        ${i}
        ${s.index}
        ${s.count}
        <br>
    c:forEach>

    <%
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        request.setAttribute("list",list);
    %>
    <c:forEach items="${list}" var="str" varStatus="s">
        ${s.index}
        ${s.count}
        ${str}
        <br>
    c:forEach>
body>
html>

17.9 JSTL_案例_表格

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Date" %>
<%@ page import="com.xww.domain.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>testtitle>
head>
<body>
<%

    List list = new ArrayList();
    list.add(new User("张三",23,new Date()));
    list.add(new User("李四",24,new Date()));
    list.add(new User("王五",25,new Date()));
    request.setAttribute("list_bq",list);
%>
<table border="1" width="500" align="center">
    <tr>
        <th>编号th>
        <th>姓名th>
        <th>年龄th>
        <th>生日th>
    tr>
    <%--数据行--%>
    <c:forEach items="${list_bq}" var="user" varStatus="s">

        <c:if test="${s.count % 2 != 0}">

            <tr bgcolor="red">
                <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="green">
                <td>${s.count}td>
                <td>${user.name}td>
                <td>${user.age}td>
                <td>${user.birStr}td>
            tr>
        c:if>
    c:forEach>
table>

body>
html>

你可能感兴趣的:(#,间接,over,java,jstl)