JavaWeb(JSTL标签库学习笔记)
来源:互联网 发布:淘宝店铺模板在线制作 编辑:程序博客网 时间:2024/06/07 14:19
一、 JSTL标签库
1.1、什么是JSTL
Java Standard Tag Library Java标准标签库,一组由Sun公司已经制作好的扩展标签库,可以在JSP页面直接使用。每个标签都有它自己的功能。可以替换JSP页面上的Java代码。
1.2、JSTL标签库分类:
JSTL
前缀
URI
作用
核心标签库
c
http://java.sun.com/jsp/jstl/core
一组常用的核心标签库
国际化标签
fmt
http://java.sun.com/jsp/jstl/fmt
用于页面的国际化,在不同的国家显示不同的语言
数据库标签
sql
http://java.sun.com/jsp/jstl/sql
可以直接在JSP页面上使用标签访问数据库
XML标签
x
http://java.sun.com/jsp/jstl/xml
用于在JSP上解析XML
函数标签
fn
http://java.sun.com/jsp/jstl/functions
在页面上使用一组字符串的函数
1.3、JSTL使用步骤
1.3.1. 导包jstl.jar库
1.3.2. 在JSP页面上使用taglib指令
<%@taglib prefix=”c” uri=” http://java.sun.com/jsp/jstl/core” %>
1.3.3. 使用标签库
二、 判断标签<c:if>
2.1作用属性名
是否支持EL
属性类型
属 性 描 述
test
true
boolean
用来判断表达式是否为真,如果为真,则执行if标签内的代码
var
false
String
将上面的test的运算结果存在这个变量名中
scope
false
String
将上面的test的运算结果放在哪个域中
2.2示例:在LoginServlet中的会话添加一个用户信息,重定向到login.jsp页面,在login.jsp使用<c:if>进行判断。如果当前用户已经登录,则显示"欢迎您!Xxx登录成功!",否则显示一个登录的链接。
2.3代码
<!-- 判断会话域中是否有user对象,如果没有,则跳转到login.jsp --> <c:if test="${empty sessionScope.user }" > <!-- 重定向 --> <c:redirect url="/login.jsp"/> </c:if> 欢迎您!${sessionScope.user}
三、多分支标签
3.1作用标签名
作用
choose
判断标签的父标签
when
多分支的判断条件,属性:test,类似于switch中case
otherwise
类似于switch中的default
四、遍历标签<c:forEach>
4.1作用:
属性名
是否支持EL
属性类型
属 性 描 述
var
false
String
指定遍历中每个元素的变量名
varStatus
false
String
每次循环对象的状态,有4个属性
items
true
任何支持的类型
要遍历的集合或数组
begin
true
int
从哪一行开始
end
true
int
到哪一行结束
step
true
int
步长,每次跨几条记录
4.2 varStatuus属性
属性
类型
含义
index
int
当前是第几个元素,从0开始
count
int
到当前这一行一共有多少个元素了
first
boolean
如果当前是第一个元素,则返回true
last
boolean
如果当前是最后一个元素,则返回true
4.3遍历集合
<table border="1" width="600" align="center"> <caption>学生列表</caption> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> <!-- 每一行是一条记录 items: 要遍历的集合或数组 var: 集合或数组中的每个元素 varStatus: 当前元素状态 ● index: 当前是第几个元素,从0开始 ● count: 到当前这一行一共有多少个元素了 ● first: 如果当前是第一个元素,则返回true ● last: 如果当前是最后一个元素,则返回true begin: 从哪一行开始,从0开始 end: 到哪一行结束 step: 步长,跨几步 --> <c:forEach items="${requestScope.students}" var="stu" varStatus="row" > <!-- 三元运算,如果为0,则输出style这句话,否则什么也不输出 --> <tr ${row.count % 2 == 0 ? "style='background-color: lightgreen'":""}> <td>${row.count}</td> <td>${stu.name}</td> <td>${stu.age}</td> <!-- 字符串可以用单引号或双引号 --> <td>${stu.male?"男":"女"}</td> </tr> </c:forEach> </table>
数据放在作用域中,如果不放在作用域中可以使用JSP表达式
遍历数组: <% int [] arr = {44,12,5,1,2,3}; pageContext.setAttribute("arr", arr); %> <br/> <c:forEach items="${arr}" var="num"> ${num} <br/> </c:forEach>
4.5遍历Map:
<%/创建一个Map HashMap<String, String> map = new HashMap<String, String>(); map.put("n1", "潘金莲"); map.put("n2", "小乔"); map.put("n3", "孙悟空"); //放在请求域中 request.setAttribute("map", map);%><hr/> 遍历Map <br/> <c:forEach items="${map}" var="entry"> ${entry.key } -> ${entry.value} <br/> </c:forEach>
4.6类似于Java中for循环的用法
<hr/> 从1到100 <br/> <c:forEach begin="1" end="100" var="i" step="2"> ${i} <br/> </c:forEach>
- JavaWeb(JSTL标签库学习笔记)
- JavaWeb学习十一(JSTL标签库)
- JSTL标签库学习笔记
- JSTL标签库学习笔记
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
- JavaWeb学习总结---JSTL标签库之核心标签
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
- javaweb之jstl标签库
- JavaWeb之JSTL标签库
- JSTL标签学习笔记
- Javaweb学习之JSTL核心标签库的使用
- JavaWeb笔记——JSTL标签
- JavaWeb---JSTL标签库(core标签库)
- 学习笔记-JSTL标签库--C SQL
- JSTL标签库学习笔记 一、概述
- linux网络socket套接字介绍
- Java String 声明、引用、内存分配深度剖析
- TYVJ-P1035 棋盘覆盖
- Mac 下安装与配置 nginx php7.1
- 网络编程
- JavaWeb(JSTL标签库学习笔记)
- linux c 网络编程
- JAVA虚拟机读写其他进程数据
- Java大文件Md5的检测,避免OOM
- Analysis Steps of MRI data
- ie6、ie7—input{border:none}无效问题及ie8及以下的input文本框文字偏上问题
- w10安装oracle, 正在检查操作系统要求... 实际结果: 6.2
- SpringCloud-----SpringCloud调用服务时出现重复调用
- Java四类八种数据类型