JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!
导入标签库
<%@ taglib prefix="c"uri="http://java.sun.com/jstl/core" %>
if标签的test属性必须是一个boolean类型的值,如果test的值为true,那么执行if标签的内容,否则不执行。
注意判断语句整体放入 ${ },如:test="${user.id==1}"
输出aaa字符串常量:
与${aaa}相同:
当${aaa}不存在时,输出xxx字符串:
设置变量,即在pageContext中添加name为a,value为hello的数据。
删除变量,即删除pageContext中name为a的数据
choose标签对应Java中的if/else if/else结构。when标签的test为true时,会执行这个when的内容。当所有when标签的test都为false时,才会执行otherwise标签的内容。
错误的分数:${score }
S级
A级
B级
C级
D级
url标签:该标签会在需要重写URL时添加。
输出上下文路径:/项目名/
把本该输出的结果赋给变量a。范围为request
forEach当前就是循环标签,在jsp页面中经常使用
例子:三个换一行
forEach标签还有一个属性:varStatus,这个属性用来指定接收“循环状态”的变量名,例如:
count:int类型,当前以遍历元素的个数;
index:int类型,当前元素的下标;
first:boolean类型,是否为第一个元素;
last:boolean类型,是否为最后一个元素;
current:Object类型,表示当前项目。
${i.index}
fmt标签库是用来格式化输出的,通常需要格式化的有时间和数字。
格式化日期
格式化数字
d1=2.4
d2=3.5
一般List的长度,在java中的 .size(),JSTL标签是
两种
${fn:length(userList) }
其中 属于JSTL标签中的fn函数了,感兴趣可以搜索一下相关知识。
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>