JSTL标签

JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jest页面中使用标签的形式完成业务逻辑等功能。作用:用于简化和替换jsp页面上的java代码,JSTL标准标签库有5个子库,但随着发展,目前常使用的是他的核心库

JSTL五大字库
在这里插入图片描述
使用步骤:
1、 导入jstl相关jar包
在这里插入图片描述
2、 引入标签库:taglib指令
在这里插入图片描述

3、 使用标签

JSTL核心库的使用

包括变量操作,流程控制以及在Jsp页面中访问基于URL资源的相关标签。
在这里插入图片描述
例子:

1、<c:out>
在这里插入图片描述
<c:out>标签用于输出内容,输出value的值,当value的值为null时输出默认值。escapeXml决定是否转换字符串,设置为true时页面输出为的字符串,若设置为false时页面弹出hello的提示框。

2、<c:catch>

捕获由嵌套在它里面的标签抛出的异常。
在这里插入图片描述
3、<c:set>

用于在某个范围(Request、Session、Application等)中设置某个值,或者设置某个对象的属性。
var:指定变量名称
scop:指定变量的作用范围,默认为page
value:待赋给变量的值
target:必须是一个javaBean或Map类型的变量
property:JavaBean的属性名或Map的key
在这里插入图片描述
4、<c:remove>
用于删除某个变量或者属性
在这里插入图片描述
5、<c:if>

用于条件判断,如果其test属性为true,则显示if标签体内容,如果为false,则不显示标签体内容,一般情况下,test属性值会结合el表达式一起使用,<c:if>标签没有else情况,想要else情况,则可以在定义一个<c:if>标签

<%
    List list = new ArrayList();
    list.add("aaaa");
    request.setAttribute("list", list);
    request.setAttribute("number", 3);
     %>
     <!-- 判断request域中的一个list集合是否为空,如果不为null则显示遍历集合 -->
    <c:if test="${not empty list }">
         遍历集合....
    </c:if>
    <br>
    <c:if test="${number % 2 !=0 }">
      ${number}为奇数
    </c:if>
    <c:if test="${number % 2 ==0 }">
     ${number}为偶数
    </c:if>

6、<c:choose> <c:when> <c:otherwise>

Choose:相当于java代码的switch语句
1、 使用choose标签声明 相当于switch声明
2、 使用when标签做判断 相当于case
3、 使用otherwise标签做其他情况的声明 相当于default

 <%
    request.setAttribute("number", 6);
     %>
    
    <c:choose>
     <c:when test="${number == 1}">星期一</c:when>
     <c:when test="${number == 2}">星期二</c:when>
     <c:when test="${number == 3}">星期三</c:when>
     <c:when test="${number == 4}">星期四</c:when>
     <c:when test="${number == 5}">星期五</c:when>
     <c:when test="${number == 6}">星期六</c:when>
     <c:when test="${number == 7}">星期天</c:when>
    
     <c:otherwise>数字输入有误</c:otherwise>
    </c:choose>

当输入的数字在when里面没有的,就会执行输出最下数字输入有误

7、<c:forEach>

1、遍历固定次数的循环,如:
for(int i = 0 ; i < 10 ; i++){}
属性:
begin:遍历开始的索引值
end:遍历结束的索引值
var:临时变量
step:索引增长的步长,默认为1
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始

 <c:forEach begin="1" end="10" var="i" step="2" varStatus="s">
     ${i} <h3>${s.index}</h3> <h4>${s.count}</h4>
    </c:forEach>

2、遍历容器:集合、数组、map
List list;
for(User user : list){}
属性:
Items:容器对象
Var:容器中元素的临时变量
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始

 <%
      List list = new ArrayList();
	   list.add("aaaa");
	   list.add("bbbb");
	   list.add("cccc");
	   
     request.setAttribute("list", list);
     %>
    
    <c:forEach items="${list}"  var="str"  varStatus="s" >
     ${s.index}  ${s.count}  ${str}
    </c:forEach>
     <!--  结果:0 1 aaaa 1 2 bbbb  2  3 cccc -->

8、<c:forTakens>

将字符串按照指定的分隔符分隔后遍历
delims:分隔符

<c:forTokens items="Zara,nuha,roshy" delims="," var="name">
   <c:out value="${name}"/><p>
   </c:forTokens>
<!--  结果:Zara  nuha roshy -->

9、<c:url>

与<c:param>结合使用构造一个URL地址
value:指定要处理的URL地址
在这里插入图片描述
10、<c:import>

类似于jsp:include标签,不但可以导入本地web应用的资源,还可以导入其他web资源

11、<c:redirect>

将客户端请求转向其他资源,等价于jsp内置对象response的sendRedirect方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值