JSTL_基本知识

在jsp中,我们难免要进行一些逻辑运算,为了避免写出难以维护的Java代码,我们使用jstl标签库,它能够结合el表达式,使得jsp文档令人编写阅读轻松。

 


一、准备工作

1、导入jar包

 

 2、引用所需的标签库

  在jsp文件中使用taglib标签引入所需库。

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

二、常用标签

1、基本标签

  1.1、输出

    把数据输出在页面中。

//value可以为常量,也可以是el表达式,如果值为空,则输出默认值
<c:out value="值" default="默认值"></c:out>

  1.2、存入数据

    把数据以键值对的形式,存入指定数据对象中,实际上是调用了setAttribute方法。(不指定scope则默认存入page对象中)

//var:键   ;value:值  ;scope:指定对象(可选)
<c:set var="name" value="lurenjia" scope="session"></c:set>

  1.3、删除数据

    通过键名删除数据,可以指定数据对象

//不指定scope时,删除所有作用域中键名为name的数据
<c:remove var="name" scope="request"></c:remove>

2、逻辑标签

  2.1选择标签

    如果满足条件,则执行。

<c:set var="name" value="" scope="request"></c:set>

//test中必须为el表达式,且值为Boolean
<c:if test="${empty param.name}">
    <b>可是这和我是一个冷酷的复读机又有什么关系呢?</b>
</c:if>

  2.2多选择标签

    如果满足某个条件,则执行某个代码块。

<c:set var="t_name" value="lurenjia" scope="request"></c:set>
//根据t_name的值,执行相关的代码块
<c:choose>
    <c:when test="${t_name eq 'lurenjia'}">
        <b>没错,他是叫做路人甲</b>
    </c:when>
    <c:when test="${t_name eq '老六'}">
        <b>没错,他叫做老六</b>
    </c:when>
    <c:otherwise>
        <b>不不不,它没有名字</b>
    </c:otherwise>
</c:choose>

3、循环标签

  3.1 常量循环:循环次数固定。

<!--
begin:开始索引
end:结束索引
step:步长
varStatus:记录了每次循环的数据,在作用域中,通过el表达式取出,属性:
    index获取当前索引
    count获取当前循环次数
    first获取是否第一次循环
    last获取是否最后一次循环
-->
<c:forEach begin="1" end="4" step="2" varStatus="vs">
    循环体
</c:forEach>

  3.2动态循环:循环次数根据容器大小来确定。

<!--
items:要遍历的对象
var:每次循环中的对象
    1、普通数组、list集合,${v}
    2、map集合:
        ${v.key}获取键
        ${v.value}获取值
-->
<c:forEach items="name" var="v">
    循环体
</c:forEach>

 

posted @ 2023-02-13 12:02  在博客做笔记的路人甲  阅读(20)  评论(0编辑  收藏  举报