JSTL 标签库

JSTL标签库

JSTL标签库是为JavaWeb开发人员提供的一套标准通用的标签库;

JSTL标签库和EL配合使用可以取代JSP中大部分的Java代码;

在使用JSTL标签库之前需要完成:

  • 导入JSTL的开发包
  • 在这里插入图片描述

其中常用的标签如下:

1、<c:set></c:set> – 用于往域中添加属性,或者修改域中已有的属性值

c:set 标签属性总结:

(1)var -- 指定存入作用域中的属性名称
(2)value -- 指定存入作用域中属性的值
(3)scope -- 指定将属性存入哪一个作用域中,默认值是page,表示pageContext域
可取值: a)page表示pageContext域 b)request表示request域
	c)session表示session域 d)application表示ServletContext域

代码示例:

<%-- request.setAttribute("name", "张三"); --%>
<c:set var="name" value="张三" scope="request"/>
${ name }

<% String job = "java开发工程师"; %>
<c:set var="job" value="<%= job %>" scope="request"/>
${ job }

<c:set var="name" value="张三丰" scope="request"/>
${ name }

2、<c:if></c:if> – 构造简单的 if…else…结构语句

c:if 标签属性总结:

test属性 -- 指定一个布尔表达式,当表达式的结果为true时,将会执行(输出)c:if标签中的内容,如果表达式结果为false,将不会输出c:if标签中的内容

代码示例:往域中存入一个成绩, 根据成绩判断成绩所属的等级

<c:if test="${ 3>5 }">yes</c:if>
<c:if test="${ 3<=5 }">no</c:if>
<hr>
<!-- 根据成绩判断成绩所属的等级 -->
<c:set var="score" value="-35"/>
<c:if test="${ score>=80 and score<=100 }">您的成绩属于: 优秀!</c:if>
<c:if test="${ score>=60 and score<80 }">您的成绩属于: 中等!</c:if>
<c:if test="${ score>=0 and score<60 }">您的成绩属于: 不及格!</c:if>
<c:if test="${ score<0 or score>100 }">您的成绩有误!</c:if>

3、<c:forEach></c:forEach> – 对集合或数组等中元素进行循环遍历或者是执行指定次数的循环.

(1) 遍历域中数组或集合中的元素

<%
	String[] name = {"王海涛","刘沛霞","陈子枢","齐雷"};
	request.setAttribute( "names", name );
%>
<c:forEach items="${ names }" var="name" varStatus="vs">
	${ vs.count }, ${ vs.first }, ${ vs.last }, ${ name } <br/>
</c:forEach>

(2) 遍历域中map集合中的元素

<%
	//声明一个map集合并将map集合存入域中  
	Map<Object,Object> map = new HashMap<Object,Object>();
	map.put( "name" , "尼古拉斯.赵四" );
	map.put( "age" , 35 );
	map.put( "addr" , "中国" );
	request.setAttribute( "map1", map );
%>
<c:forEach items="${ map1 }" var="entry">
	${ entry } <br/>
</c:forEach>

(3) 遍历0~100之间的整数,将是3的倍数的数值输出到浏览器中

<c:forEach begin="1" end="100" var="i" step="1">
	${ i%3==0 ? i:""}
</c:forEach>

<hr/>

<c:forEach begin="1" end="100" var="i" step="1">
	<c:if test="${ i%3==0 }">
		${ i }
	</c:if>
</c:forEach>

c:forEach 标签属性总结:

(1)items: 指定需要遍历的集合或数组
(2)var: 指定用于接收遍历过程中的每一个元素
(3)begin: 指定循环从哪儿开始
(4)end: 指定循环到哪儿结束
(5)step: 指定循环时的步长, 默认值是1
(6)varStatus: 用于表示循环遍历状态信息的对象, 这个对象上有如下属性:
	first属性: 表示当前遍历是否是第一次, 若是, 则返回true;
	last属性: 表示当前遍历是否是最后一次, 若是, 则返回true;
	count属性: 记录当前遍历是第几次

代码示例:

更多:
https://www.runoob.com/jsp/jsp-jstl.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值