JSTL
来源:互联网 发布:谷歌拍照软件 编辑:程序博客网 时间:2024/06/16 14:39
JSTL(Java Standard Tag Library) –Java标准标签库
下面主要讲JSTL–Core 核心标签库。
首先
•在你项目的任意页面上通过<%@ taglib 指令使用JSTL的核心标签库。
•<%@ tagliburi="http://java.sun.com/jsp/jstl/core" prefix="c"%>
•uri是引用标签库的资源定位符,并不代表一个实际的地址。
•Prefix是自定义的前缀。
下面讲标签库中常用的几个子标签:
1.<c:out> 输出标签--输出表达式或标识符的值(功能和${标识符}类似,差别体现在default和escapeXml两个属性上)
示例:pageContext.setAttribute("str", "<font color='red'>湖南城院</font>");
<c:out value="${str}" escapeXml="true"></c:out> --会把“<”编码成“<”,即原样输出html语句
<c:out value="${str}"></c:out> --html语句起作用,输出的是红色的湖南城院
2.<c:set>
a.给JavaBean设置属性:
<jsp:useBean id="u" class="cn.hncu.domain.User"></jsp:useBean>
<c:set target="${u}" property="name" value="Tom"></c:set>
<c:set target="${u}" property="age" value="23"></c:set>
<c:out value="${u}"></c:out>
<c:set target="${u}" property="name" value="Tom"></c:set>
<c:set target="${u}" property="age" value="23"></c:set>
<c:out value="${u}"></c:out>
b.给String类型的变量赋值
<c:set var="sum" value="200"></c:set>
<c:out value="${sum}"></c:out>
<c:out value="${sum}"></c:out>
3.<c:if>
示例:<c:if test="${age<20}" var="boo" scope="session">
<hr/>
湖南abc <br/>
<font color='red'>湖南城院</font><br/>
<h3>dskjewj2323232</h3>
</c:if>
<c:if test="${!boo}">
江西123
</c:if>
<hr/>
湖南abc <br/>
<font color='red'>湖南城院</font><br/>
<h3>dskjewj2323232</h3>
</c:if>
<c:if test="${!boo}">
江西123
</c:if>
4.<c:forEach>
一、普通for循环的功能
<c:forEach begin="1" end="10" var="i" step="2">
${i}<br/>
</c:forEach> ---输出的是1.3.5.7.9
<c:forEach begin="1" end="10" var="i" step="2">
${i}<br/>
</c:forEach> ---输出的是1.3.5.7.9
二、增强for循环的功能<br/>
1.遍历数组<br/>
<%
String strs[] = {"aa","bb","cc"};
pageContext.setAttribute("strs", strs);
%>
<c:forEach items="${strs}" var="str">
${str},
</c:forEach>
<br/>
2.遍历List<br/>
<%
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
pageContext.setAttribute("list", list);
%>
<c:forEach items="${list}" var="a">
${a},
</c:forEach>
<br/>
3.遍历Map<br/>
<%
Map map = new HashMap();
map.put("name", "李四");
map.put("age",24);
map.put("addr","安置小区");
pageContext.setAttribute("map", map);
%>
<c:forEach items="${map}" var="aa">
${aa} ==> ${aa.key} , ${aa.value} <br/>
</c:forEach>
<br/>
3.遍历元素为值对象的集合,如List<User> <br/>
<%
List<User> list2 = new ArrayList<User>();
list2.add( new User("Mike","1234",20));
list2.add( new User("Mike2","1234",22));
list2.add( new User("Mike3","4322",21));
list2.add( new User("Rose","111",10));
pageContext.setAttribute("list2", list2);
%>
<c:forEach items="${list2}" var="user" varStatus="idx">
<!--index为下标的序号(索引), count为记数 -->
${idx.index},${idx.count}:
<c:out value="${user.name}"></c:out> ,
<c:out value="${user.pwd}"></c:out> ,
<c:out value="${user.age}"></c:out> <br/>
</c:forEach>
1.遍历数组<br/>
<%
String strs[] = {"aa","bb","cc"};
pageContext.setAttribute("strs", strs);
%>
<c:forEach items="${strs}" var="str">
${str},
</c:forEach>
<br/>
2.遍历List<br/>
<%
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
pageContext.setAttribute("list", list);
%>
<c:forEach items="${list}" var="a">
${a},
</c:forEach>
<br/>
3.遍历Map<br/>
<%
Map map = new HashMap();
map.put("name", "李四");
map.put("age",24);
map.put("addr","安置小区");
pageContext.setAttribute("map", map);
%>
<c:forEach items="${map}" var="aa">
${aa} ==> ${aa.key} , ${aa.value} <br/>
</c:forEach>
<br/>
3.遍历元素为值对象的集合,如List<User> <br/>
<%
List<User> list2 = new ArrayList<User>();
list2.add( new User("Mike","1234",20));
list2.add( new User("Mike2","1234",22));
list2.add( new User("Mike3","4322",21));
list2.add( new User("Rose","111",10));
pageContext.setAttribute("list2", list2);
%>
<c:forEach items="${list2}" var="user" varStatus="idx">
<!--index为下标的序号(索引), count为记数 -->
${idx.index},${idx.count}:
<c:out value="${user.name}"></c:out> ,
<c:out value="${user.pwd}"></c:out> ,
<c:out value="${user.age}"></c:out> <br/>
</c:forEach>
------
•count– 当前元素在集合中的序号,从1开始。
•index- 记录当前元素的下标,从0开始。
5. c:choose,when,otherwise标签
<c:set var="score" value="65" scope="session"></c:set>
<c:choose>
<c:when test="${score>=90}">
优秀
</c:when>
<c:when test="${score>=80}">
良好
</c:when>
<c:when test="${score>=70}">
中等
</c:when>
<c:otherwise>
毕不了业
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${score>=90}">
优秀
</c:when>
<c:when test="${score>=80}">
良好
</c:when>
<c:when test="${score>=70}">
中等
</c:when>
<c:otherwise>
毕不了业
</c:otherwise>
</c:choose>
6.forTokens标签
<c:forTokens items="a,b,c,d,23,tt" delims="," var="x">
${x} <br/>
</c:forTokens>
${x} <br/>
</c:forTokens>
------该标签相当于String中的split函数,即split(“,”)
---- 按,(逗号)对字符串进行分隔。
7.url相关的标签: url,import,redirect
<!-- 重写url技术,路径中的斜杠就是项目根目录 -->
<a href="<c:url value='/ShowServlet' />">显示所有用户信息</a> <br/>
<!-- 动态包含 -->
<c:import url="/jsps/foot.jsp"></c:import>
<%--小心,页面中写了c:redirect,就会立即重定向到其它页面。不会再停留在当前页面
<c:redirect url="/jsps/show.jsp"></c:redirect>
response.sendRedirect("/jsps/show.jsp");
--%>
<a href="<c:url value='/ShowServlet' />">显示所有用户信息</a> <br/>
<!-- 动态包含 -->
<c:import url="/jsps/foot.jsp"></c:import>
<%--小心,页面中写了c:redirect,就会立即重定向到其它页面。不会再停留在当前页面
<c:redirect url="/jsps/show.jsp"></c:redirect>
response.sendRedirect("/jsps/show.jsp");
--%>
8.c:remove标签:移除属性变量, 和set是相反
<c:remove var="score"/>
score: ${score}
score: ${score}
0 0
- jstl
- jstl
- JSTL
- jstl
- JSTL
- JSTL
- JSTL
- JSTL
- jstl
- JSTL
- JSTL
- JSTL
- jstl
- jstl
- jstl
- JSTL
- JSTL
- jstl
- 【NOIP2011普及组T4】表达式的值-模拟+栈
- codeforces 732D (二分 贪心)
- mongoose
- 转圈游戏noip+快速幂
- 学习笔记:openwrt listen & send 方式实现进程间通信源码
- JSTL
- 贝叶斯分类原理:
- H.264视频码流解析2
- 应用沙盒
- shell入门
- Linux防火墙
- typedef和define的对比
- linux MakeFile教程详解
- 基于haclon的曲线针识别实例