JavaWeb---JSP标准标签库(JSTL)
来源:互联网 发布:动物百科全书软件 编辑:程序博客网 时间:2024/04/29 21:50
1. 为什么需要使用JSTL?
虽然EL表达式可以访问JavaBean的属性,但是并不能实现在JSP中进行逻辑判断,因而要使用JSTL标签
2. 什么是JSTL?
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL标签库的出现,不仅简化了JSP和WEB应用程序的开发,而且在应用程序服务器之间提供了一致的接口,最大程度地提高了WEB应用在各应用服务器之间的移植。而由JSTL1.0发展而来的EL语言更加简化了JSP页面中对变量和对象的访问操作。
3. JSTL的优点:
a. 提供一组标准标签
b. 可用于编写各种动态 JSP页面
c. JSTL通常会与EL表达式合作实现JSP页面的编码
4. JSTL标准标签库内的标签:
JSTL标准标签库à核心标签库à{通用标签(set,remove,out),条件标签(if),迭代标签(foreach)}
5. 通用标签:set out remove
a.set:设置指定范围内的变量值
b.out:计算表达式并将结果输出显示
c.remove:删除指定范围内的变量
引入: <%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>
设置变量或属性
<c:setvar="num"value="${100+1 }"scope="session"/>
<c:setvar="num1"scope="session">${4+6}</c:set>
输出变量值:
<c:outvalue="${num }"/>
<c:outvalue="${num1}"></c:out>
<br>移除变量值:
<c:removevar="num"/>
<c:removevar="num1"/>
6. 条件标签的使用: if
a) if:if标签用于判断条件是否成,与Java中的If语句做用用相同
语法:
<c:iftest="${num==100}"var="isnum"scope="page">
<h4>num的值是100</h4>
</c:if>
<c:iftest="${num!=100}"var="isnum"scope="page">
<h4>num的值不是100</h4>
</c:if>
7. 使用条件标签if做登陆验证:
<%--
StringloginName = (String) session.getAttribute("NAME");
--%>
<!-- IP:-->
<!-- <inputtype="text" value="<%--=ip--%>" readonly="readonly"/>-->
<c:setvar="loginName"value="${sessionScope.NAME}"></c:set>
<%--
if(loginName == null) {
--%>
<c:iftest="${loginName==null}"var="islogin">
<formaction="do_login.jsp"method="post"onsubmit="check()">
登录名:<inputtype="text"name="name"id="name">密码:<input
type="password"name="pwd"id="pwd"><inputtype="submit"
value="登陆">
</form>
</c:if>
<%--
}else if (loginName.equals("admin")) {
--%>
<c:iftest="${loginName.equals('admin')}">
<div>
欢迎您:<c:outvalue="${loginName}"/><%--=loginName--%>!<ahref="admin.jsp">管理控制台</a><a
href="loginout.jsp">退出</a>
</div>
</c:if>
<%--
}else {
--%>
<c:iftest="${islogin}">
<div>
欢迎您:<c:outvalue="${loginName}"/><%--=loginName--%>!<ahref="loginout.jsp">退出</a>
</div>
</c:if>
<%--
}
--%>
8. 迭代标签:foreach fortokens
迭代标签用于多次计算标签体
Fortokens标签的属性:
名称
类型
属性描述
items
String
要处理的一系列以特定符号隔开的字符串
delims
String
分隔字符集合
var
Sring
记录当前处理项目的变量
varStatus
String
记录循环状态的变量
begin
int
循环的起始点
end
int
循环的结束位置
step
int
循环步长
9. 迭代标签的应用:
forEach是for循环语句的变体,实现集合对象(可以是list、数组等)的处理
<%@ tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><%! String [] numbers = { "1", "2", "3","4" }; %>
<c:setvar="sp"value="ed,saf,wfas;sdafasf:2423/2fsaf"/>
<c:forEachvar="n"items="${NUMS}"varStatus="s">
索引:<c:outvalue="${s.index}"/>
<c:outvalue="${n}"/>
遍历次数:<c:outvalue="${s.count }"/>
<br> </c:forEach>
Fortokens是JSTL种的另一个迭代循环标签,它可以用来对字符串进行迭代循环,这个字符串是用符号分开的
<c:forTokensvar="t"items="${sp}"delims=",;:/">
<c:outvalue="${t}"/>
<br>
</c:forTokens>
10. 使用foreach改写新闻首页:
<ulclass="classlist">
<%
List<News>news = nc.selectNews();
request.setAttribute("news", news);
%>
<c:forEachvar="ns"items="${news}"varStatus="s">
<c:iftest="${s.count%5==0}">
<liclass='space'></li>
</c:if>
<li><ahref="new_read.jsp?nid=${ns.nid}"><c:out
value="${ns.ntitle}"/></a><span><c:out
value="${ns.ncreatedate}"/></span>
</li>
</c:forEach>
</ul>
- JavaWeb---JSP标准标签库(JSTL)
- javaweb jsp标签标准库JSTL 14个标签详解
- 16.JavaWeb基础 JSTL(JSP标准标签库)
- JSP标准标签库JSTL
- JSTL--JSP标准标签库
- JSTL-JSP标准标签库
- Jsp标准标签库JSTL
- JSP标准标签库(JSTL)
- JSP标准标签库JSTL
- JSP标准标签库JSTL
- Javaweb--- EL表达式 JSTL标准标签库
- jstl标签(jsp标准标签库)
- JSP - JSTL(JSP标准标签库)
- JSTL(JSP标准标签库)介绍
- JSTL(JSP标准标签库)介绍
- JSTL(JSP标准标签库)介绍
- JSTL(JSP标准标签库)介绍
- JSTL(JSP标准标签库)介绍
- 五子棋 C++
- 本博客停止正常更新
- 在RHEL6.3上安装MongoDB后不能启动服务的错误
- android persistent属性研究
- Menu的自定义实现-------保卫萝卜造塔升级塔菜单实现
- JavaWeb---JSP标准标签库(JSTL)
- iOS框架介绍(四)---媒体层
- Native looper 分析
- JavaWeb---格式化标签库
- 蓝桥 算法训练 最短路
- Ubuntu 12.04卸载与安装Mysql
- hdu 4930 Fighting the Landlords (模拟)
- Codeforces MemSQL Start[c]UP 2.0 - Round 1
- 一位网友实现的image异步加载类,支持memory和disk缓存,思路供参考