jstl标签库
1 核心标签库
JSTL的核心标签库标签共13个,从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。使用这些标签能够完成JSP页面的基本功能,减少编码工作。
(1)表达式控制标签:out标签、set标签、remove标签、catch标签。
(2)流程控制标签:if标签、choose标签、when标签、otherwise标签。
(3)循环标签:forEach标签、forTokens标签。
(4)URL操作标签:import标签、url标签、redirect标签。
在JSP页面引入核心标签库的代码为:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2 表达式控制标签
2.1<c:out>标签
【功能】:用来显示数据对象(字符串、表达式)的内容或结果。
在使用Java脚本输出时常使用的方式为:
<% out.println(“字符串”)%>
<%=表达式%>
在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用<c:out>标签就可以实现以上功能。
<c:out value=”字符串”>
<c:out value=”EL表达式”>
提示:JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,<c:out>有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入<c:out>标签中。
<c:out>标签的使用有两种语法格式。
2.2<c:set>标签
功能:主要用于将变量存取于JSP范围中或JavaBean属性中。
<c:set>标签的编写共有4种语法格式。
语法1:存值,把一个值放在指定(page、session等)的map中。
<c:set value=”值1” var=”name1” [scope=”page|request|session|application”]>
含义:把一个变量名为name1值为“值1”的变量存储在指定的scope范围内。
语法2:
<c:set var=”name2” [scope=”page|request|session|application”]>
值2
</c:set>
含义:把一个变量名为name2,值为值2的变量存储在指定的scope范围内。
语法3:
<c:set value=”值3” target=”JavaBean对象” property=”属性名”/>
含义:把一个值为“值3”赋值给指定的JavaBean的属性名。相当与setter()方法。
语法4:
<c:set target=”JavaBean对象” property=”属性名”>
值4
</c:set>
含义:把一个值4赋值给指定的JavaBean的属性名。
提示:从共能上分语法1和语法2、语法3和语法4的效果是一样的只是把value值放置的位置不同至于使用那个根据个人的喜爱,语法1和语法2是向scope范围内存储一个值,语法3和语法4是给指定的JavaBean赋值。
案例:
1 <%@ page language="java" pageEncoding="gbk"%>
2 <jsp:useBean id="person" class="org.olive.Person" />
3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4 <html>
5 <head>
6 <title>set标签的使用</title>
7 </head>
8 <body>
9 <c:set target="${person}" property="name">maverick</c:set>
10 <c:set target="${person}" property="age">25</c:set>
11 <c:set target="${person}" property="sex">男</c:set>
12 <c:set target="${person}" property="home">china</c:set>
13 <li>使用的目标对象为:${person }
14 <li>从Bean中获得的name值为:<c:out value="${person.name}"></c:out>
15 <li>从Bean中获得的age值为:<c:out value="${person.age}"></c:out>
16 <li>从Bean中获得的sex值为:<c:out value="${person.sex}"></c:out>
17 <li>从Bean中获得的home值为:<c:out value="${person.home}"></c:out>
18 </body>
19 </html>
2.3<c:remove>标签
<c:remove>标签主要用来从指定的JSP范围内移除指定的变量。
【语法】:
<c:remove var=”变量名” [scope=”page|request|session|application”]/>
其中var属性是必须的,scope可以以省略。
例子:
1 <%@ page language="java" pageEncoding="gbk"%>
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3 <html>
4 <head>
5 <title>remove标签的使用</title>
6 </head>
7 <body>
8 <li><c:set var="name" scope="session">olive</c:set>
9 <li><c:set var="age" scope="session">25</c:set>
10 <li><c:set var="sex" scope="session">男</c:set>
11 <li><c:out value="${sessionScope.name}"></c:out>
12 <li><c:out value="${sessionScope.age}"></c:out>
13 <li><c:out value="${sessionScope.sex}"></c:out>
14 <li><c:remove var="age"/>
15 <li><c:out value="${sessionScope.name}"></c:out>
16 <li><c:out value="${sessionScope.age}"></c:out>
17 <li><c:out value="${sessionScope.sex}"></c:out>
18 </body>
19 </html>
1 核心标签库
JSTL的核心标签库标签共13个,从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。使用这些标签能够完成JSP页面的基本功能,减少编码工作。
(1)表达式控制标签:out标签、set标签、remove标签、catch标签。
(2)流程控制标签:if标签、choose标签、when标签、otherwise标签。
(3)循环标签:forEach标签、forTokens标签。
(4)URL操作标签:import标签、url标签、redirect标签。
在JSP页面引入核心标签库的代码为:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2 表达式控制标签
2.1<c:out>标签
【功能】:用来显示数据对象(字符串、表达式)的内容或结果。
在使用Java脚本输出时常使用的方式为:
<% out.println(“字符串”)%>
<%=表达式%>
在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用<c:out>标签就可以实现以上功能。
<c:out value=”字符串”>
<c:out value=”EL表达式”>
提示:JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,<c:out>有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入<c:out>标签中。
<c:out>标签的使用有两种语法格式。
2.2<c:set>标签
功能:主要用于将变量存取于JSP范围中或JavaBean属性中。
<c:set>标签的编写共有4种语法格式。
语法1:存值,把一个值放在指定(page、session等)的map中。
<c:set value=”值1” var=”name1” [scope=”page|request|session|application”]>
含义:把一个变量名为name1值为“值1”的变量存储在指定的scope范围内。
语法2:
<c:set var=”name2” [scope=”page|request|session|application”]>
值2
</c:set>
含义:把一个变量名为name2,值为值2的变量存储在指定的scope范围内。
语法3:
<c:set value=”值3” target=”JavaBean对象” property=”属性名”/>
含义:把一个值为“值3”赋值给指定的JavaBean的属性名。相当与setter()方法。
语法4:
<c:set target=”JavaBean对象” property=”属性名”>
值4
</c:set>
含义:把一个值4赋值给指定的JavaBean的属性名。
提示:从共能上分语法1和语法2、语法3和语法4的效果是一样的只是把value值放置的位置不同至于使用那个根据个人的喜爱,语法1和语法2是向scope范围内存储一个值,语法3和语法4是给指定的JavaBean赋值。
案例:
1 <%@ page language="java" pageEncoding="gbk"%>
2 <jsp:useBean id="person" class="org.olive.Person" />
3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4 <html>
5 <head>
6 <title>set标签的使用</title>
7 </head>
8 <body>
9 <c:set target="${person}" property="name">maverick</c:set>
10 <c:set target="${person}" property="age">25</c:set>
11 <c:set target="${person}" property="sex">男</c:set>
12 <c:set target="${person}" property="home">china</c:set>
13 <li>使用的目标对象为:${person }
14 <li>从Bean中获得的name值为:<c:out value="${person.name}"></c:out>
15 <li>从Bean中获得的age值为:<c:out value="${person.age}"></c:out>
16 <li>从Bean中获得的sex值为:<c:out value="${person.sex}"></c:out>
17 <li>从Bean中获得的home值为:<c:out value="${person.home}"></c:out>
18 </body>
19 </html>
2.3<c:remove>标签
<c:remove>标签主要用来从指定的JSP范围内移除指定的变量。
【语法】:
<c:remove var=”变量名” [scope=”page|request|session|application”]/>
其中var属性是必须的,scope可以以省略。
例子:
1 <%@ page language="java" pageEncoding="gbk"%>
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3 <html>
4 <head>
5 <title>remove标签的使用</title>
6 </head>
7 <body>
8 <li><c:set var="name" scope="session">olive</c:set>
9 <li><c:set var="age" scope="session">25</c:set>
10 <li><c:set var="sex" scope="session">男</c:set>
11 <li><c:out value="${sessionScope.name}"></c:out>
12 <li><c:out value="${sessionScope.age}"></c:out>
13 <li><c:out value="${sessionScope.sex}"></c:out>
14 <li><c:remove var="age"/>
15 <li><c:out value="${sessionScope.name}"></c:out>
16 <li><c:out value="${sessionScope.age}"></c:out>
17 <li><c:out value="${sessionScope.sex}"></c:out>
18 </body>
19 </html>