JSTL 迈不过友情╰ 2022-10-29 09:23 160阅读 0赞 ### 文章目录 ### * * 介绍 * 使用 * 常用标签库 * * set:向域对象中添加数据 * out:输出域对象中的数据 * remove:删除域对象中的数据 * catch:捕获异常 * 条件标签:if、choose * 迭代标签:foreach * 格式化标签库 * * 日期 * 数字 * 函数标签库 ## 介绍 ## jsp standard tag library:jsp标准标签库,jsp为开发者提供一些标签,可用这些标签完成一些逻辑处理,比如循环遍历集合,让代码更简洁,不再出现jsp和java代码交替穿插的情况。 只能在jsp中应用,实际开发中,EL表达式和JSTL结合使用,JSTL负责处理逻辑,EL表达式负责展示数据。 ## 使用 ## 1. 需要导入两个jar包(jstl.jar、standard.jar),需要放到WEB-INF文件夹下 2. 在jsp页面开始地方导入标签库: `<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>`,c表示以后直接用c调用 3. 使用: <c:foreach items=${ list} var="user"> //遍历list,user是局部临时变量,相当于i <td>${ user.id}</td> </c:foreach> ## 常用标签库 ## ### set:向域对象中添加数据 ### `<c:set var="name" value="tom"> </c:set>`,如果不指定域对象,默认从小到大顺序(pageContext < request < session < application)。 如果指定域对象: <c:set var="name" value="tom" scope="page"> </c:set> ${ pageScope.name} 修改对象属性: User user = new User(10, "张三"); request.setAttribute("user", user); ${ user.name} // 张三 <c:set target="${user}" property="name" value="李四"> </c:set> ${ user.name} //李四 ### out:输出域对象中的数据 ### <c:set var="name" value="tom" scope="page"> </c:set> <c:out value=${ name}></c:out> //输出 key值为name的数据 <c:out value=${ name} default="not defined"></c:out> //当没有name,显示default值 ### remove:删除域对象中的数据 ### <c:remove var="name" scope="page"> </c:remove> // 删除page里面的name ### catch:捕获异常 ### <c:catch var="error" scope="page"> <% int a = 10/0; %> </c:catch> ${ error} //只展示异常信息,屏蔽其他信息,让用户更清楚了解出错地方 ### 条件标签:if、choose ### if 和choose标签 <c:set var="name1" value="1"> </c:set> <c:set var="name2" value="2"> </c:set> <c:if test="${name1 > name2}">ok </c:if> <c:if test="${name1 <= name2}">fail </c:if> <c:choose> <c:when test="${name1 > name2}" >ok</c:when> <c:otherwise>fail</c:otherwise> </c:choose> ### 迭代标签:foreach ### * 常用 <c:Foreach items="${list}" var="str" > ${ str} </c:Foreach> * 起始从第2个开始,到3结束 <c:Foreach items="${list}" var="str" begin="2" end="3"> ${ str} </c:Foreach> * 步数 <c:Foreach items="${list}" var="str" step="2"> ${ str} </c:Foreach> * 相关信息 <c:Foreach items="${list}" var="str" varStatus="sta"> ${ sta.index}-${ str} // 0-a 1-b 等 </c:Foreach> -------------------- ## 格式化标签库 ## `<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>`,fmt表示以后直接用fmt调用 ### 日期 ### request.setAttribute("data", new Data()); <fmt:formatDate value="${data}" pattern="yyyy-MM-dd HH-mm-ss"></fmt:formatData> ### 数字 ### <fmt:formatDate value="1234.1234" maxIntegerDigits="2" maxFractionDigits="3"></fmt:formatData> //12.123 -------------------- ## 函数标签库 ## `<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>`,fn表示以后直接用fn调用 request.setAttribute("info","java,c"); ${ fn:contains(info, "python")} //false ${ fn:startWith(info, "java")} //true ${ fn:endWith(info, "c")} //true ${ fn:indexOf(info, "v")} // 2 ${ fn:replace(info, "c", "python")} // java,python ${ fn:subString(info, 2, 3)} //v , [2,3) ${ fn:split(info, ",")[0]}-${ fn:split(info, ",")[1]} // java-c
相关 JSTL 1、jstl标签的基本概述 JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jst 蔚落/ 2022年12月24日 13:58/ 0 赞/ 126 阅读
相关 jstl总结 引入jstl核心标签库的代码为:<%@ taglib prefix="c" uri="[http://java.sun.com/jsp/jstl/core"%][http_ja 骑猪看日落/ 2022年08月27日 15:49/ 0 赞/ 154 阅读
相关 JSTL 简介 JSTL(JSPStandard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来 布满荆棘的人生/ 2022年08月22日 15:15/ 0 赞/ 168 阅读
相关 JSTL详解 JSTL详解(一) 先来搭下环境,jstl的包当然是不能少的拉。其次,下载必须的标签库或者是java的标签库文件。没有的话,也可以联系我[wan\_yong\ 今天药忘吃喽~/ 2022年08月12日 12:00/ 0 赞/ 139 阅读
相关 JSTL 前言 ========================================================================= JSTL标签库,是 野性酷女/ 2022年08月06日 09:27/ 0 赞/ 171 阅读
相关 JSTL JSTL JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的 本是古典 何须时尚/ 2022年06月15日 08:38/ 0 赞/ 164 阅读
相关 jstl jstl标签库 1 核心标签库 JSTL的核心标签库标签共13个,从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。使用这些标签能够完成JS ╰+攻爆jí腚メ/ 2022年04月14日 06:09/ 0 赞/ 204 阅读
相关 JSTL学习 JSTL学习 1. 作用: 提高在jsp中的逻辑代码的编写效率,使用标签。 2. 使用: JSTL的核心标签库(重点) ゝ一世哀愁。/ 2021年12月10日 08:17/ 0 赞/ 193 阅读
相关 EL&JSTL 简介 本文是2021/06/10整理的笔记 赘述可能有点多,还请各位朋友耐心阅读 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进 阳光穿透心脏的1/2处/ 2021年09月25日 10:50/ 0 赞/ 275 阅读
还没有评论,来说两句吧...