15.Filter&Listener

JSTL标签库

1.概念: Java Server page Tag library(jsp标准标签库)

2.作用:用于简化和替换jsp中的java代码

3.使用步骤:

  • 1.导入jstl相关的jar包
  • 2.引入标签库使用taglib指令
<%@taglib prefix="自定义名字" uri="http://java.sun.com/jsp/jstl/core"  %>

我们在使用JSTL标签库的时候经常都把前缀(prefix)设置成C这是一种默认的规则

  • 3.使用标签

4.经常使用的标签(分类)通常与EL表达式配合使用

1.条件标签
    1. if:相当于java中的if语句
      属性:test(必须属性),接收boolean值
      当值是true的时候,显示标签体的内容,当值是false的时候不显示标签体的内容
      注意:经常与EL表达式配合使用,没有else,需要else的时候写多重if
      如:
      1.判断request中存放的list集合数据是否为null,如果不是null就显示遍历集合
      2.判断是奇数的时候打印,偶数的时候不打印
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"  %>
<html>
<head>
    <title>JSTL使用</title>
</head>
<body>
<%
    //1.创建List集合,添加数据
    List list = new ArrayList();
    list.add("xzw");
    list.add("hhy");
    list.add("ysj");
    //2.将获取的list集合添加在request域对象之中
    request.setAttribute("list",list);

    //设置一个值,将其存在request域对象之中
    Integer a = 4;
    request.setAttribute("number",a);
%>
<%--使用JSTL标签库进行判断--%>
<c:if test="${ not empty list}">
    <h3>遍历list集合</h3>
</c:if>
<c:if test="${empty list}">

</c:if>

<br>
<%--奇偶数判定--%>
<c:if test="${(number % 2)!= 0}">
    <h3>奇数</h3>
</c:if>

<c:if test="${(number % 2 == 0)}">
    <h3>偶数</h3>
</c:if>

</body>
</html>
    1. choose:相当于java中的switch语句
    1. when:和choose配合使用相当于case
    1. otherwise:和choose配合使用相当于default
      如:完成一个数字编号对应星期几案例
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>JSTL中choose使用</title>
</head>
<body>
<%--存放一个数字--%>
<%
int i = 11;
request.setAttribute("i",i);
%>
<%--使用JSTL--%>
<c:choose>
    <c:when test="${i==1}"><h3>星期一</h3></c:when>
    <c:when test="${i==2}"><h3>星期二</h3></c:when>
    <c:when test="${i==3}"><h3>星期三</h3></c:when>
    <c:when test="${i==4}"><h3>星期四</h3></c:when>
    <c:when test="${i==5}"><h3>星期五</h3></c:when>
    <c:when test="${i==6}"><h3>星期六</h3></c:when>
    <c:when test="${i==7}"><h3>星期日</h3></c:when>
    <c:otherwise ><h3>数字有误</h3></c:otherwise>
</c:choose>
</body>
</html>
2.迭代标签
  • foreach:相当于java中的for语句
    使用方式:
    1,完成重复操作
    属性:
    开始值,begin
    结束值,end
    var ,临时变量
    step,步长
    varstatus,循环状态对象
    (index:容器中元素索引)
    (count:循环次数)

2,遍历容器

属性:
iterm,获取容器变量
var,临时变量
varstatus,循环状态对象,在遍历的时候使用的更多
(index:容器中元素索引)
(count:循环次数)

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.xzw.entity.User" %>
<%@ page import="java.util.Date" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>foreach使用</title>
</head>
<body>
<%

    List list = new ArrayList();
    list.add(new User("xzw",21,"nan",new Date()));
    list.add(new User("hhy",21,"nan",new Date()));
    list.add(new User("ysj",21,"nan",new Date()));
    list.add(new User("lfb",21,"nan",new Date()));
    request.setAttribute("list",list);

%>
<%--第一种使用方法:进行重复操作--%>

<c:forEach begin="1" end="10" var="i" varStatus="s">
    <h5>var:${i}--index:${s.index}--count:${s.count} </h5>
</c:forEach>
<hr>
<%--第二种使用方法:遍历容器--%>
<c:forEach items="${list}" var="user" varStatus="s">
    <h3>${s.count}&nbsp;&nbsp;${user.name}</h3>
</c:forEach>

</body>
</html>

页面效果:


页面效果

经常使用,这两个知识点非常简单

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1什么是JSTLJSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL...
    TY_阅读 406评论 0 1
  • 第一部分简单讲解:jsp语法的规范,以及三大编译指令,七个动作指令和九大内置对象,生命周期讲解等。这章主要讲解el...
    伊豚wall阅读 421评论 0 3
  • 一、jsp介绍 jsp作用jsp全称java server pages(java服务器页面),本质是一个servl...
    圣贤与无赖阅读 1,291评论 0 14
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,855评论 0 4
  • JSP 全称 Java Server Pages,是一种动态网页开发技术。JSP是一种 Java Servlet,...
    風逍遥阅读 521评论 0 0