分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

[06] JSTL标准标签库

发布时间:2023-09-06 01:40责任编辑:赖小花关键词:暂无标签

1、JSTL概述

之前在《[03-01] JSP自定义标签》中已经说明了自定义标签的概况,而JSTL也是一套标签库,不过是厂商已经定义好的标签库,我们不再需要自行进行定制,直接使用即可。

所以说JSTL的使用也和我们使用自定义标签是相同的:
  • 它也由两部分组成,tld文件和标签处理器类
  • 导入tld也要使用JSP的taglib指令

JSTL需要单独下载jar包,毕竟是别人写好了的,jstl1.1往往需要jstl.jar和standard.jar两个jar包(若导入jar包无法仍无法使用,尝试将tld文件复制到WEB-INF目录下)。
 
这里以JSTL的常用版本1.1来示例说明,如下可以看到,共有五个方面的tld文件:
  • c.tld  核心标记库,最常用的标记如循环、分支、表达式赋值等
  • fmt.tld  格式化/国际化标记库,用来解析数据,如日期等
  • sql.tld  数据库标记库,包含访问数据库的标记等
  • x.tld  xml标记库,用来访问xml元素
  • fn.tld  函数标记库,包含一些常用函数可以直接调用,如截取字符串等

JSTL往往和EL表达式结合使用,在JSTL标签中,属性往往通过EL进行赋值。

2、c.tld部分标签说明

  • 表达式控制标签:out、set、remove、catch
  • 流程控制标签:if、choose、when、otherwise
  • 循环标签:forEach、forTokens
  • url操作标签:import、url、redirect
 

2.1 表达式控制

  1. <c:out value="字符串" />
输出value的值,往往可以直接使用EL替代该标记。

  1. <c:set var="loggedIn" scope="session" value="${true}" />
将value的值存储到scope范围中名var的属性中去,scope默认范围为page。

  1. <c:remove var="loggedIn" scope="session" />
将var的值,从scope范围中去除。

  1. <c:catch var="e"><%= 100/0 %></c:catch>
捕获异常,异常对象使用var封装。

2.2 流程控制

  1. <c:if test="${user.login}">Welcome</c:if>
若test的值为true,则运行<c:if></c:if>之间的代码。

  1. <c:choose>
  2. ???<c:when test="${13>4}">
  3. ???????hello!
  4. ???</c:when>
  5. ???<c:when test="${4<5}">
  6. ???????hi!
  7. ???</c:when>
  8. ???<c:otherwise>
  9. ???????how are u?
  10. ???</c:otherwise>
  11. </c:choose>
实现if/else的流程逻辑,注意,多个when在choose中类似if else,而不是单独的if。

2.3 循环标签

  1. <c:forEach item="${allCustomers}" var="cust">
  2. ???${cust}
  3. </c:forEach>
迭代集合allCustomers,每次迭代出来的元素将存储到pageContext中,名为cust。

  1. <c:forTokens items="a:b:c:d" delims=":" var="token">
  2. ???${token}
  3. </c:forTokens>
items属性指定需要迭代的字符串,delims表示分隔符,var表示使用分隔符分割items所产生的字符串。

2.4 url操作标签

  1. <c:import url="http://www.demo.com/test.txt" />
用来包含一些文本信息,<jsp:include>只能包含同一个Web应用中的文件,而<c:import>则可以包含其他Web应用甚至网络上的资源。

  1. <c:redirect>
  2. ???<c:redirect url="index.jsp" />
  3. ???<c:param name="login" value="true" />
  4. </c:redirect>
进行响应重定向。

  1. <a href=<c:url value="admin/admin.jsp" />>访问admin.jsp页面</a>
输出url地址,默认使用url重写。


[06] JSTL标准标签库

原文地址:https://www.cnblogs.com/deng-cc/p/8391416.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved