基本标签:

out标签:<c:out value="${表达式}" default="默认值"></c:out>

作用:结合EL表达式将数据响应给浏览器,如果EL表达式没有取到数据则可以使用default属性声明默认值。

<%
request.setAttribute("str", "jstl out学习");
%>
<%=request.getAttribute("str") %>----${str}-----
<C:out value="${st}" default="我是out标签"></C:out>

set标签:<c:set value="数据" var="键名" scope="作用域名"></c:set>

作用:将数据存储到指定的作用域中,默认是pageContext作用域

注意:scope的值为:page  request  session  application

<C:set value="set标签学习2" var="s2" scope="request"></C:set>
<C:set value="hello pageContext" var="hello" scope="page"></C:set>
<C:set value="hello request" var="hello" scope="request"></C:set>
<C:set value="hello session" var="hello" scope="session"></C:set>
<C:set value="hello application" var="hello" scope="application"></C:set>
${s1}--${requestScope.hello}

remove标签:<c:remove var="要删除数据的键名" scope="作用域名"/>

作用:删除作用域中的数据,默认是删除四个作用域中的符合要求的数据。但是可以通过scope属性指明要删除的作用域据。    

  注意:

         使用pageContext.removeAttriute("键名"),    此方法会将四个作用域中的符合要求的数据全部删除

          使用pageContext.removeAttriute(String name,int scope)

                            指明要删除的作用域中的数据 scope的值为 1pageContext,2request ,3 session,4 application

          使用request.removeAttibute("键名")         删除当前作用域符合要求的数据

          使用session.removeAttibute("键名")               删除当前作用域符合要求的数据

          使用application.removeAttibute("键名")        删除当前作用域符合要求的数据

<C:set value="set标签学习2" var="s2" scope="request"></C:set>
<C:set value="hello pageContext" var="hello" scope="page"></C:set>
<C:set value="hello request" var="hello" scope="request"></C:set>
<C:set value="hello session" var="hello" scope="session"></C:set>
<C:set value="hello application" var="hello" scope="application"></C:set>
<C:remove var="hello" scope="request"/><br/>
<C:remove var="hello" /><br/>
${requsetScope.hello}

逻辑标签:

单分支判断标签:<c:if test="${表达式}">数据</c:if>

作用:可以根据el表达式进行一定程度的单分支逻辑判断。
 注意:

           test属性中书写的是EL表达式,或者说是EL表达式的逻辑表达式。

            该标签只能进行EL表达式相关的逻辑判断。不能进行EL表达式不能获取的数据的逻辑处理

<C:set var="a" value="12"></C:set>
<C:if test="${a>8}">
<b>今天天气不错</b>
</C:if>

多分支判断标签:

            <c:choose>

                        <c:when test="${表达式}"></c:when>

                        <c:when test="${表达式}"></c:when>

                        ..

                        <c:otherwise></c:otherwise>

             </c:choose>
注意:符合条件后只会执行一个分支,其他分支不会执行。

<%--多分支判断标签  C:choose/when--%>
<C:set var="score" value="40"></C:set>
<C:choose>
<C:when test="${score>=90}">
<i>奖励10个苹果</i>
</C:when>
<C:when test="${score>=80&&score<90}">
<i>奖励8个苹果</i>
</C:when>
<C:when test="${score>=70&&score<80}">
<i>奖励6个苹果</i>
</C:when>
<C:when test="${score>=60&&score<70}">
<i>奖励5个苹果</i>
</C:when>
<C:otherwise>
<i>捐赠10苹果</i>
</C:otherwise>
</C:choose>

 循环标签:

                    <c:foreach>

                        循环体

                    </c:foreach>

 属性:

        begin:声明循环的开始位置

        end:声明循环的结束位置

        step:声明循环的步长

         varStatus:声明变量记录循环状态 ,例如变量名:i

                 注意:记录的数据存储到了作用域中可以直接使用El表达式进行获取

                   示例:   ${i.index}  获取当次循环的下标

                                  ${i.count}  获取当次循环的次数

                                  ${i.first}  判断是否是第一次循环

                                  ${i.last}    判断是否是最后一次循环

        items:声明要遍历的数据,可以是集合和数组等

                    注意:要使用EL表达式来获取

       var:声明变量记录每次遍历的结果。可以做循环体中使用使用EL表达式获取遍历出来的数据

<C:forEach begin="0" end="4" step="1" varStatus="i">
1111
<C:if test="${i.count==3}">
<u>我是第三次循环体</u>
</C:if>
--${i.index}--${i.first}--${i.last}--${i.count} <br />
</C:forEach>

遍历list集合:

<%
ArrayList<String> list=new ArrayList<String>();
list.add("apple");
list.add("bnana");
list.add("lemon");
//将list存储到作用域中
request.setAttribute("list", list);
%>
<C:forEach varStatus="i" items="${list}" var="s">
${s}---${i.index}---${i.count} <br />
</C:forEach>

遍历map集合:

<%
HashMap<String,String> map=new HashMap<String,String>();
map.put("s1", "下棋");
map.put("s2", "开飞机");
map.put("s3", "开坦克");
//将map存储到作用域中
request.setAttribute("map", map);
%>
<C:forEach items="${map}" var="s">
${s}--${s.value} <br />
</C:forEach>

JSTL学习的更多相关文章

  1. day11_jsp/EL/JSTL学习笔记

    一.jsp概述 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP实际上就是Servlet. JSP这门技术的最大 ...

  2. Servlet和JSP之JSTL学习

    JSTL JSTL就是JSP标准标签库(JavaServer Pages Standard Tag Library, JSTL)是一个定制标签库的集合,用来解决像遍历Map或集合.条件测试.XML处理 ...

  3. JavaWeb——EL及JSTL学习总结

    什么是EL表达式 为什么需要EL EL的主要作用 EL的语法 EL的开发步骤 EL实例练习 EL中的运算符 EL表达式显示内容的特点 EL的特点 EL隐式对象 EL隐式对象介绍 隐式对象实例练习 什么 ...

  4. JSTL学习笔记(核心标签)

    一.JSTL标签分类: 核心标签 格式化标签 SQL标签 XML标签 JSTL函数 二.核心标签       引用方式:<%@ taglib prefix="c" uri=& ...

  5. JavaWeb 后端 <六> 之 EL & JSTL 学习笔记

    一.EL表达式(特别重要)

  6. JavaEE EL & JSTL 学习笔记

    1. EL表达式(特别重要)

  7. JSTL学习笔记

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6684442.html  一:JSTL用途 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用 ...

  8. JSTL 学习

    对于页面访问数据的统计,可以使用内置对象的相应方法进行计数工作,这个对象要在jsp对象的整个生命周期中setAttribute()和getAttribute()application.setAttri ...

  9. EL与JSTL学习(二)——JSTL技术

    1.JSTL概述 JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能. jstl出现的目的同el一样也是要代替jsp ...

随机推荐

  1. 【Spring】Spring的定时任务注解@Scheduled原来如此简单

    1 简介 定时任务的实现非常多,JDK的Timer.Spring提供的轻量级的Scheduled Task.QuartZ和Linux Cron等,还有一些分布式的任务调度框架.本文主要介绍Schedu ...

  2. nyoj 92-图像有用区域 (BFS)

    92-图像有用区域 内存限制:64MB 时间限制:3000ms 特判: No 通过数:4 提交数:12 难度:4 题目描述: “ACKing”同学以前做一个图像处理的项目时,遇到了一个问题,他需要摘取 ...

  3. django_4:数据库1——django操作数据库

    创建数据库记录(插入) 使用python3 manage.py shell(python3亲测好使) ipython3 manage.py shell(亲测不好使) 方式一. [root@centos ...

  4. 附010.Kubernetes永久存储之GlusterFS超融合部署

    一 前期准备 1.1 基础知识 在Kubernetes中,使用GlusterFS文件系统,操作步骤通常是: 创建brick-->创建volume-->创建PV-->创建PVC--&g ...

  5. win10中java环境变量配置

    首先,应该安装jdk,jdk的安装一般是jdk8,一般情况下去官网下载,此处有jdk8的网盘链接: -- 在安装jdk时候,可以看下这篇jdk和jre区别的博客--,有助于理解两者的区别和联系. 接触 ...

  6. Google Chrome浏览器的编码格式的修改步骤

    Chrome  Charset插件 大二萌新正在学JavaEE,当学到TomCat时,用到浏览器,但是呢,出现了中文乱码的情况,而又用的是Google,可烦恼了,由于Google Chrome的更新, ...

  7. Openlayers Overlay使用心得

    Overlay在Openlayers里是浮动层的概念,区别于vector这样的图层,通常用于弹窗.撒点.以及解决加载icon样式不支持的gif等格式图片. 此次用overlay的过程中遇到很多问题,在 ...

  8. String类的详细

    String str = new String("abc")创建过程 (1) 先定义一个名为str的对String类的对象引用变量放入栈中. (2) 然后在堆中(不是常量池)创建一 ...

  9. 2019-9-9:渗透测试,基础学习,pydictor使用,sql盲注,docker使用,笔记

    pydictor,强大的密码生成工具,可以合并密码字典,词频统计,去重,枚举数字字典生成字典python3 pydictor.py -base d --len 4 4 生成纯数字4位密码python3 ...

  10. 2019-9-25:渗透测试,基础学习,Hydra BP爆破,js基本知识,banner信息收集笔记

    使用BP和Hydra爆破相关的服务hydra:九头蛇,开源的功能强大的爆破工具,支持的服务有很多,使用hydra爆破c/s结构的服务,使用bp爆破web登陆窗口爆破需要的几个条件,爆破工具+字典字典: ...