基本标签:

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. pxe批量部署脚本

    #!/bin/bash #检查环境 setenforce 0 sed -i 's/=enforce/=disabled/g' /etc/selinux/config systemctl restart ...

  2. Havok Physics 2012(2)

    目录 Havok Physics 2012 Chapter 2. Creating a Simulation 创建一个模拟世界 1. Creating Physics 2012 Objects Hav ...

  3. [Error]使用了未经检查或不安全的操作...

    编译错误注: MethodReflect.java使用了未经检查或不安全的操作.注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译. 解决:在类前面加入下面一句解决 @Suppr ...

  4. mysql 创建用户及授权(2)

    一. MySQL初始密码 新安装的MySQL默认是没有密码的,设置初始密码可以用以下命 mysqladmin -u root password 'new-password' mysqladmin -u ...

  5. pip install xxx Could not fetch URL https://pypi.org/simple/pip/

    Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirmingthe ssl certificate: ...

  6. 【Java】final修饰符的使用

    final修饰符的使用 1.修饰类: final修饰的类不能被继承,final修饰的类里面的方法都是(隐式)final方法 2.修饰方法: final修饰的方法不能被重写 3.修饰变量(被修饰的变量一 ...

  7. django 中 css文件的调用

    Django: 配置css文件 晚上搞了好久的css文件的调用,发现,我根本文件位置都放错了. 接下来要更改settings.py 和 urls.py 的设定. Settings.py 中应该: ur ...

  8. docker入门篇

    在网上的教程中,大多数是建议利用linux来安装docker,在此我也建议大家用linux安装,为什么?请看下图 docker使用go语言开发,并且运行在linux系统下,而如果想用window运行, ...

  9. Centos7編譯安裝LAMP平臺

    什麽是LAMP? 拆開看 L 就是Linux系統 A是Apache的縮寫 M.P則是MySQL和PHP的简写. 其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行 ...

  10. go语言学习笔记(二)

    整数 有符号整数 int8 int16 int32 int64 无符号整数 uin8 uin16 uin32 uin64 无符号整数 uintptr可以进行运算这点很重要请了解unsafe包,大小不明 ...