表达式操作 out、set、remove、catch
流程控制 if、choose、when、otherwise
迭代操作 forEach、forTokens
URL操作 import、param、url、redirect
Set标签
<c:set> 主要用来将变量存储至JSP范围中 或是JavaBean的属性或Map对象中
名称 | 说明 | 是否必须写 | 默认值 |
---|---|---|---|
Value | 要被存储的值 | 否 | 无 |
var | 存入的变量名称 | 否 | 无 |
scope | var变量的JSP范围 | 否 | Page |
target | JavaBean或Map对象 | 否 | 无 |
property | 指定target对象的属性 | 否 | 无 |
<c:out>主要用来显示数据的内容
名称 | 说明 | 是否必须写 | 默认值 |
---|---|---|---|
value | 需要显示出来的值 | 是 | 无 |
default | 如果value的值为null,则显示default的值 | 否 | 无 |
escapeXml | 是否转换特殊字符,如:<转换成 & lt; | 否 | True |
<c:remove> 主要负责移除变量
名称 | 说明 | 是否必须写 | 默认值 |
---|---|---|---|
Var | 欲移除的变量名称 | 是 | 无 |
Scope | var变量的jsp范围 | 否 | Page |
<c:if> 主要用于进行if判断,如果为true,则输出标签体中的内容
名称 | 说明 | 是否必须写 | 默认值 |
---|---|---|---|
Test | 表达式的结果为true,则执行体内容,false则相反 | 是 | 无 |
var | 如果 用来存储test运算的结果(true或false) | 否 | 无 |
scope | Var变量的JSP范围 | 否 | page |
<c:choose>,<c:when>,<c:otherwise> 作用相当于if-else
名称 | 说明 | 必须 | 默认 |
---|---|---|---|
test | 如果表达式的结果为true,则执行体内容,false则相反 | 是 | 无 |
<c:forEach> 循环控制,它可以将数组,集合(Collection)中的成员循序浏览一遍。
名称 | 说明 | 必须 | 默认值 |
---|---|---|---|
var | 用来存放现在指定的成员 | 是 | 无 |
items | 被迭代的集合对象 | 否 | 无 |
varStatus | 用来存放现在指的相关成员信息 | 否 | 无 |
begin | 开始的位置 | 否 | 0 |
end | 结束的位置 | 否 | 最后一个成员 |
step | 每次迭代的间隔数 | 否 | 1 |
1、fmt:formatDate 作用:将日期类型格式化为指定模式的字符串
属性
value:将要被格式化的数据
pattern:格式化的模式,与SimpleDateFormat的参数设置一样
var:格式化后的字符串所要存放的变量,若不指定var,则会将格式化的结果直接显示在页面
scope:变量存放的域属性空间,默认page
type:其取值为date、time、both,表示给出的value是日期、时间、还是两者都包含,默认是date
2、fmt:parseDate 作用:用于将指定字符串转化为日期类型
<fmt:parseDate value="${now }" pattern="yyyy-MM-dd" var="today"/>
Value服务器获取的时间
Pattern:转换的格式
Var:页面显示的变量
3、fmt:formatNumber 按照指定格式对数字进行格式化
属性
maxIntegerDigits:整数部分最多的位数
minIntegerDigits:整数部分最少的位数
maxFrctionDigits:小数部分最多的位数
minFrctionDigits:小数部分最少的位数
var:存储格式化结果的变量
scope:var属性的作用域
integerOnly:是否只解析整型数true或者浮点数false
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>testjstl</title>
</head>
<body>
<!-- c标签里面的输出语句 -->
<c:out value="c 标签输出"></c:out><br>
<!-- c标签 : 可以通过该标签创建变量,var为变量名 value为变量值 scope为变量域-->
<c:set var="v1" value="testu1" scope="page"></c:set>
u1=${v1}<br>
<%
int age = 20;
pageContext.setAttribute("age", age);
%>
<!-- if语句,test语句里面填写判断语句。 -->
<c:if test="${age < 18}">
未成年
</c:if>
<c:if test="${age >= 18}">
成年
</c:if><br>
<%
Set set = new HashSet<>();
set.add("set_1");
set.add("set_2");
set.add("set_3");
set.add("set_4");
pageContext.setAttribute("set", set);
%>
<!-- c标签里面的循环语句 items是要遍历的变量, var每次取出来的变量名 -->
<c:forEach items="${set}" var="i">
---${i}<br>
</c:forEach>
<%
int sex = 1;
pageContext.setAttribute("sex", sex);
%>
<c:choose>
<c:when test="${sex==0}">女</c:when>
<c:when test="${sex==1}">男</c:when>
<c:otherwise>中性</c:otherwise>
</c:choose><br>
<%
Date date = new Date();
pageContext.setAttribute("date", date);
%>
${date}<br>
<fmt:formatDate value="${date}" pattern="yyyy-MM--dd hh:mm:ss"></fmt:formatDate>
</body>
</html>