JSTL学习
基本标签:
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学习的更多相关文章
- day11_jsp/EL/JSTL学习笔记
一.jsp概述 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP实际上就是Servlet. JSP这门技术的最大 ...
- Servlet和JSP之JSTL学习
JSTL JSTL就是JSP标准标签库(JavaServer Pages Standard Tag Library, JSTL)是一个定制标签库的集合,用来解决像遍历Map或集合.条件测试.XML处理 ...
- JavaWeb——EL及JSTL学习总结
什么是EL表达式 为什么需要EL EL的主要作用 EL的语法 EL的开发步骤 EL实例练习 EL中的运算符 EL表达式显示内容的特点 EL的特点 EL隐式对象 EL隐式对象介绍 隐式对象实例练习 什么 ...
- JSTL学习笔记(核心标签)
一.JSTL标签分类: 核心标签 格式化标签 SQL标签 XML标签 JSTL函数 二.核心标签 引用方式:<%@ taglib prefix="c" uri=& ...
- JavaWeb 后端 <六> 之 EL & JSTL 学习笔记
一.EL表达式(特别重要)
- JavaEE EL & JSTL 学习笔记
1. EL表达式(特别重要)
- JSTL学习笔记
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6684442.html 一:JSTL用途 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用 ...
- JSTL 学习
对于页面访问数据的统计,可以使用内置对象的相应方法进行计数工作,这个对象要在jsp对象的整个生命周期中setAttribute()和getAttribute()application.setAttri ...
- EL与JSTL学习(二)——JSTL技术
1.JSTL概述 JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能. jstl出现的目的同el一样也是要代替jsp ...
随机推荐
- css 完美垂直居中解决方案兼容ie8以上等其他浏览器
css 完美垂直居中解决方案兼容ie8以上等其他浏览器 <pre><!DOCTYPE html><html><head> <title>DI ...
- vmware centos共享文件夹
vmware centos共享文件夹 查看VMware Tools 是否安装成功 <pre>vmware-hgfsclient</pre> 出现共享文件夹<pre> ...
- 020.掌握Pod-Pod基础使用
一 Pod定义详解 1.1 完整Pod定义文件 apiVersion: v1 #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 kind: Pod #必选, ...
- 微信小程序(mpvue) wx.openSetting 无法调起设置页面
在开发过程有个需要保存图片/视频到设备相册的业务,so easy~ 巴啦啦撸下来了完整功能, wx.saveVideoToPhotosAlbum 会自动调起用户授权,美滋滋~~ btu.... ...
- nyoj 412 Same binary weight ()
Same binary weight 时间限制:300 ms | 内存限制:65535 KB 难度:3 描述 The binary weight of a positive integer ...
- gopls替换hover文档
一直在用vscode来开发golang程序,也一直在用 gopls语言服务器,也一直用鼠标悬浮显示函数的文档. 今天 偶然关闭了 gopls,然后 鼠标悬浮后,发现了 新大陆,nima,gopls的 ...
- 领扣(LeetCode)最长和谐子序列 个人题解
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1. 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度. 示例 1: 输入: [1,3,2,2,5,2,3,7] ...
- 领扣(LeetCode)两个列表的最小索引总和 个人题解
假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅. 如果答案不止一个,则输出所有答 ...
- this绑定方式总结
最近在回顾js的一些基础知识,把<你不知道的js>系列又看了一遍,this始终是重中之重,还是决定把this相关知识做一个系统的总结,也方便自己日后回顾. this的四条绑定规则 1.默认 ...
- Spring基于构造函数和设值函数的依赖注入
基于构造函数的依赖注入 我们知道,bean标签中指定的类会进行初始化,这个初始化过程中自然会调用构造函数,那我们也可以利用这个构造函数完成依赖注入. 先创建一个类: public class Text ...