粗体为必须掌握部分
-
表达式控制标签:out、set、remove、catch
-
流程控制标签:if、choose、when、otherwise
-
循环标签:forEach、forTokens
-
URL操作标签:import、url、redirect
只用JSTL需要大家引入两个JAR包 jstl-1.2.jar和standard-1.1.2.jar,如果是MyEclipse会自带,我们还是使用去下载的
使用标签时,必定要在jsp文件头加入以下代码:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
1. <c:out>标签
作用: 用来显示数据对象(字符串、表达式)的内容或结果
使用Java脚本的方式为:<% out.println("hello") %> <%=表达式 %>
使用JSTL标签:,例如:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/b412290c36d64a67857731ca953b2071.jpg)
运行效果:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/7e0c2201f8b942d096f7135b4baea8da.jpg)
2. <c:set>标签
作用: 用于将变量存取于** JSP范围[
pageContext/request/session/appliaction]中或JavaBean 属性**中。下面的例子中假设已经有User.java 这个类文件。
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/3e65b2251aa740d88a5df84fda976d21.jpg)
一共有四种语法格式,
-
前两种是给 jsp的范围 变量赋值
-
后两种是给 javaBean 变量赋值
运行效果:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/fcf04b16eba343ea90a959a77361ae4d.jpg)
真心用的比较少,但是还是蛮好用的,一般情况下需要配合使用的是EL表达式
3. <c:remove>标签
放弃吧 , 主要用来从指定的** jsp 范围[
pageContext/request/session/application]**内移除指定的变量。
使用类似,下面只给出语法:
<c:remove var="变量名" [scope="page|request|session|application"]></c:remove>
自己测试吧,存在即是合理的,希望谁知道什么时候能用到呢?
4. <c:catch>标签
****放弃吧**** 用来处理 JSP 页面中产生的异常,并存储异常信息,好久都没有见过了,渐渐的备遗忘了
<c:catch var=”name1″> 容易产生异常的代码</c:catch>
5. <c:if>标签 [重中之重]
表达式: <c:if test="条件1" var="name" [scope="page|request|session|application"]></c:if>
代码截图:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/3d732fe3d45044d6b0f250559409cf4b.jpg)
注意比较的中文比较的时候使用的单引号,如果是数字自己比较一下就可以了!
运行效果:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/3742128ecbbf4342b4900607ddcd10d8.jpg)
6. <c:choose> <c:when> <c:otherwise>标签 掌握
相当于switch语法,三个标签一般嵌套使用,第一个标签在最外层,最后一个标签在嵌套中只能使用一次
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/645228c680f24331b720a58eb1e60045.jpg)
自己测试一下,特别注意:test->必定要配合使用EL表达式
7. <c:forEach>遍历标签 [重中之重]
作用: 该标签根据循环条件遍历集合 Collection 中的元素。
语法:<c:forEach var="name" items="Collection" varStatus="statusName" begin="begin" end="end" step="step"></c:forEach>
属性解释:
-
var 用于存储从集合中取出的元素;
-
items 指定要遍历的集合;
-
varStatus 用于存放集合中元素的信息。
-
step 步长
-
begin 从什么位置索引开始
-
end 到什么位置结束,不能越界啊
varStatus 一共有4种状态属性,下面例子中说明:
代码示例:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/baa0610eff8e40dcb73026fcd5024760.jpg)
这个必须要记住啊,必定要记住啊!我们可以给MyEclipse或者Eclipse安装插件,方便我们的使用!
运行效果:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/9e09a5aa66b54f04adc98f25b6c1f885.jpg)
8. <c:forTokens>
作用: 用于浏览字符串,并根据指定的字符串截取字符串 这个属于技巧,需要大家灵活掌握
语法: <c:forTokens items="stringOfTokens" delims="delimiters" [var="name" begin="begin" end="end" step="len" varStatus="statusName"]></c:forTokens>
代码示例:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/ecfc77e528c44a2fb4faf352e3ee71a5.jpg)
运行效果:
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/e353011166164a27904203787485feec.jpg)
9. URL 操作标签
把其他静态或动态文件包含到 JSP 页面
| 标签名称 | 描述 |
|---|---|
<c:import> |
可以包含其他web应用中的文件,甚至是网络上的资源 |
<jsp:include> |
只能包含同一个web应用中的文件 |
<c:import> 标签说明
语法:
-
<c:import url="url" [context="context"] [value="value"] [scope="..."] [charEncoding="encoding"]></c:import> -
<c:import url="url" varReader="name" [context="context"][charEncoding="encoding"]></c:import>
中括号代表是可选择的属性,可以不写
![[应用篇]第四篇 JSTL之C标签介绍.md](https://img.lukuai.com/blogimg/20251103/2f7927c8a82443719ec0e5a09c7c143f.jpg)
URL路径有个绝对路径和相对路径
-** 相对路径**:<c:import url="sxt.txt"/>那么,shxt.txt 必须与当前文件放在同一个文件目录下。
重点解释
如果以“/”开头,表明存放在应用程序的根目录下,如Tomcat应用程序的根目录文件夹为 webapps。
如果要访问webapps管理文件夹中的其他Web应用,就要用context属性。
例如访问demoProj下的index.jsp,则:
<c:import url=”/index.jsp” context=”/demoProj”/>
<c:redirect> 标签说明
作用: 该标签用来实现请求的重定向
对用户输入的用户名和密码进行验证,不成功则重定向到登录页面。或者实现Web应用不同模块之间的衔接
语法:
<c:redirect url="url" [context="context"]/>
或:
<c:redirect url=”url” [context=”context”]> <c:param value=”value1″></c:redirect>
代码示例:
<c:redirect url=”http://127.0.0.1:8001″> <c:param>shxt</c:param> <c:param>hanpang8983</c:param></c:redirect>
地址栏的结果为:
http://127.0.0.1:8080/?uname=shxt&password=hanpang8983
<c:url> 标签说明
用于动态生成一个 String 类型的URL,可以同上个标签共同使用,也可以使用HTML的<a>标签实验超链接。
语法:
<c:url value=”value” [var=”name”] [scope=”…”] [context=”context”]> <c:param value=”value1″></c:url>
或:
<c:url value="value" [var="name"] [scope="..."] [context="context"]/>
代码示例:
<c:url value=”http://127.0.0.1:8001″ var=”url” scope=”session”</c:url><a href=”${url}”>Tomcat首页</a>
















暂无评论内容