首页 > 其他分享 >JSTL_基本知识

JSTL_基本知识

时间:2023-02-13 12:11:23浏览次数:47  
标签:el 标签 基本知识 指定 JSTL jsp scope 数据

在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>

 

标签:el,标签,基本知识,指定,JSTL,jsp,scope,数据
From: https://www.cnblogs.com/lurenjia-bky/p/17115869.html

相关文章

  • 780~781 JSTL练习 三层架构
    JSTL练习需求:在request域中有一个存有User对象的List集合。需要使用jstl+el将list集合数据展示到jsp页面的表格table中<%@pageimport="java.util.List"%><%@p......
  • JSTL_常用标签_foreach与JSTL_练习
    JSTL_常用标签_foreachforeach:相当于Java代码的for1.完成重复的操作for(inti=0;i<10;i++){}属性:b......
  • 778~779 JSTL常用标签 choose,foreach
    2.choose:相当于java代码的switch语句1.使用choose标签声明                 相当于switch声明2.使用when标签做判断  ......
  • 776~777 JSTL概述,常用标签
    JSTL1.概念:JavaServerPagesTagLibrary JSP标准标签库是由Apache组织提供的开源的免费的jsp标签      <标签>2.作用:用于简化和替换jsp页......
  • JSTL_常用标签_if与JSTL_常用标签
    JSTL_常用标签_if常用标签:1.if:相当于java代码的if语句、c:if标签1.属性test必须属性,接受boolean表达式如......
  • EL_empty运算符&隐式对象pageContext与JSTL_概述
    EL_empty运算符&隐式对象pageContext3.隐式对象: el表达式中有11个隐式对象 pageContext:......
  • JSTL常用标签
    常用的JSTL标签1.if:相当于java代码的if语句1.属性:test必须属性接收boolean表达式日光表达式true则显示if标签体内容如果为fa......
  • JSTL练习和三层架构
    JSTL练习需求:在request域中有一个存有User对象的List集合。需要使用jstl+el将list集合数据展示到jsp页面的表格table中<%@taglibprefix="c"uri="http://java.sun.com......
  • EL隐式对象 JSTL
    el表达式中有11个隐式对象pageContext:获取jsp其他八个内置对象${pageContext.request.contextPath}:动态获取虚拟目录 JSTL1:概念:JavaServ......
  • JSTL-常用标签-if、choose、foreach
    JSTL-常用标签-ifif:相当于java代码的if语句1.属性:test必须属性,接收boolean表达式如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体......