JSTL标签库--JSP Standard Tag Library,JSP标准标签库,是一个开放源代码的JSP标签库。
说明:在javaee4.0中,需要导入JSTL相关的jar包,但是在javaee 5.0开始,默认已经包含了相关的jar包。
一、JSTL介绍
1.JavaServer Pages Standard Tab Library
2.JSTL由JCP(Java Community Process)指定标准,提供给Java Web开发人员一个标准通用的标签函数库。
3.使用JSTL结合EL表达式的使用可以提高程序的可读性,维护性和方便性。
4.JSTL 1.0默认不支持EL表达式,所以一般都是使用JSTL 1.1。
二、JSTL标签库
1.核心标签库:http://java.sun,com/jsp/jstl/core
包含Web应用的常见工作,比如:循环,表达式赋值,基本输入输出等;
2.格式化标签库:http://java.sun,com/jsp/jstl/ftm
用来格式化显示数据的工作,比如:对不同的地区的日期时间的格式化;
3.XML标签库:http://java.sun.com/jstl/xml
用来访问XML文件的工作,这是JSTL标签库的一个特点;
4.函数标签库:http://java.sun.com/jstl/functions
用来读取已经定义的某个函数;
5.数据库标签库:http://java.sun.com/jstl/sql
可以做访问数据库的工作。
三、标签的使用
1.导入相应标签库的jar包
2.在jsp中通过jsp指令引入标签:<%@ taglib url="" prefix="" />
eg:要使用c标签:<%@ taglib url="http://java.sun,com/jsp/jstl/core" prefix="c"%>
3.使用
注意:JSTL标签只能支持EL表达式,struts2 标签不支持EL表达式,它使用的是OGNL表达式
四、JSTL核心标签库介绍
了解标签
1.<c:out>:用于输出一段文本内容到pageContext对象当前保存的out对象中;
eg:<c:out value="${zcc }" default="xpx" secapeXml="true" />
2.<c:set>:用于把某一个对象攒在指定的作用域范围内,或者设置web作用域中的java.util.Map类型的属性对象或者JavaBean类型的属相对象的属性。
eg:<c:set var ="name" value="jjyy" scope="page"/> --相当于pageContext.setAttribute("name","jjyy");
<c:set var ="t" >hello jjyy c:set</c:set> --将文本内容存到变量t中
<c:set target="${u }" property="name" vlaue = "1321" /> --设置已有的EL变量u的属性姓名为1321
<c:set target="${u }" property="pwd" > 1321</set> --将本体内容设为EL变量u的属性pwd的值
3.<c:remove>:标签用于删除各种作用域中的属性(如果没有指定范围的前提下,也可以指定特定的作用域)
eg:<c:remove var ="wly" scope="session" /> --相当于session.removeAttribute(“wly”);
4.<c:catch>:用于捕获嵌套在标签体中的内容抛出的异常
eg:<c:catch [var="varName"]>nested actions</c:catch>
掌握标签
5.<c:if test=""> : 标签相当于简单的if机构条件的表达式,注意:core中没有else标签
6.<c:choose > : 用于指定多个条件选择的组合边界,它必须和<c:when> 和<c:otherwise>标签一起使用。使用这个三个标签可以构造出类似“if - else if-else”的复杂条件判断
7.<c:forEach> : 用于对一个集合对象中的元素进行循环迭代操作,或者按照指定的次数重复迭代执行标签体中的内容
8.<c:forTokens> : 用来浏览一个字符串中的所有的成员,其成员是由定义符号所分割的
了解标签
9.<c:param>标签
在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为
这些标签所使用的URL地址附加参数。
10.<c:import> 标签,实现include操作
11.<c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面
12.<c:redirect>标签用于实现请求重定向
eg:<c:redirect url="forTokens.jsp">
<c:param name="name" value="jjyy" />
<c:param name="address" value="beijing" />
<c:redirect>
----相当于请求重定向:<% response.sendRedirect("forTokens.jsp") %>
五、JSTL中核心标签库常用标签的使用
1.<c:if test="">
eg:
<c:if test="${2>1}">
zcc
</c:if>
<c:if test="${2<=1}">
xzl
</c:if><pre name="code" class="html">
2.<c:choose>
eg:
<c:choose>
<c:when test="${empty requestScope.s}">
<h1>jjyy</h1>
</c:when>
<c:otherwise>
<h1>wly</h1>
</c:otherwise>
</c:choose>
注意:A.<c:when>必须在<c:otherwise>前面
B.<c:choose>中除了<c:when>和<c:otherwise>不能有其他的元素
3.<c:forTokens>
<c:forTokens items="www.1321.com" delims="." var="str">
${str }<br>
</c:forTokens>
4.<c:forEach>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>遍历2到50的偶数,如果数字所在的位置是5的倍数,显示成红色</h1><hr>
<c:forEach begin="0" end="50" step="2" var="i" varStatus="stat">
<c:if test="${stat.count % 5 == 0}">
<font color="red">
${i }
</font>
</c:if>
<c:if test="${stat.count % 5 != 0}">
<font color="blue">
${i }
</font>
</c:if>
</c:forEach>
<h1>循环执行指定的内容若干次</h1><hr>
<c:forEach begin="0" end="10" step="2" var="i" >
${i },
</c:forEach>
<h1>遍历Map中的数据</h1><hr>
<%
Map map = new LinkedHashMap();
map.put("name","jjyy");
map.put("age","23");
map.put("wife","none");
map.put("gender","男");
pageContext.setAttribute("map",map);
%>
<c:forEach items="${map}" var="entry" >
${entry.key }:${entry.value }<br>
</c:forEach>
<h1>遍历集合中的数据</h1><hr>
<%
List list = new ArrayList();
list.add("jjyy");
list.add("zcc");
list.add("xpx");
list.add("xzl");
pageContext.setAttribute("list",list);
%>
<c:forEach items="${list}" var="c">
${c }<br>
</c:forEach>
<h1>遍历数组中的数据</h1><hr>
<%
String [] names = {"zgw","djx","wjf","xj","zff"};
pageContext.setAttribute("names",names);
%>
<c:forEach items="${names}" var="c">
${c }<br>
</c:forEach>
</body>
</html>
分享到:
相关推荐
JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及
jstl相关的标签。如:<c:if ></c:if>
JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...
JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。 JSTL目前的最新...
核心标签库 http://java.sun.com/jstl/core c <c:tagname…> 国际化标签(I18N) http://java.sun.com/jstl/fmt fmt <fmt:tagname…> SQL标签库 ...
自己总结的JSTL 核心标签 附上一定的源码 希望对大家有用
jstl.jar standard.jar JSTL taglib需要引入的jar包 核心标签库使用步骤: 1.在WEB-INF下的lib中加入jstl.jar和standard.jar 2.在jsp页面上加入:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSTL核心表情控主要包括流程处理标签,如果用到<c:forEach>等,需要在lib下导入jstl-1.2.jar包
JSTL核心标签库包括表达式标签、流程控制标签、循环标签和URL操作标签4种标签 JSTL标签简介 JSTL标签主要包含核心标签库、格式标签库、SQL标签库、XML标签库和函数标签库共5种标签库。 在使用JSTL标签之前必须...
核心标签库使用步骤: 1.在WEB-INF下的lib中加入jstl.jar和standard.jar 2.在jsp页面上加入:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
用于jsp页面中加载jstl核心标签库,导入方法: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
如果要使用JSTL核心标签库,需要在jsp页面增加如下taglib指令: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
在jsp中使用taglib指令引入自定义标签库 * 直接使用即可 <br> <br> <br>测试JSTL核心标签库</h1><br> <hr><br> 测试c:out</li><br> a(default)=<c:out value="${a}"/> <br> a(el)=${a } ...
jsp核心标签C标签所需的jstl.jar和standard.jar
7-2 核心标签库(Core tag library) 7-3 I18N 格式标签库(I18N-capable formatting tags library) 7-4 SQL 标签库(SQL tag library) 7-5 XML 标签库(XML tag library) 7-6 函数标签库(Functions tag library) 第八章...
核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件和其他操作(如导入和重定向Web内容)。Core标签按功能可分为4种类型: 1 变量维护: (1)<c>:设置变量值和...
13.3、核心标签库 13.3.1、<c:out>标签 13.3.2、<c:set>标签 13.3.3、<c:remove>标签 13.3.4、<c:catch>标签 13.3.5、<c:if>标签 13.3.6、<c:choose>、<c:when>、<c:otherwise>标签 13.3.7、<c:...
13.3、核心标签库 13.3.1、<c:out>标签 13.3.2、<c:set>标签 13.3.3、<c:remove>标签 13.3.4、<c:catch>标签 13.3.5、<c:if>标签 13.3.6、<c:choose>、<c:when>、<c:otherwise>标签 13.3.7、<c:forEach>标签 ...
13.3、核心标签库 13.3.1、<c:out>标签 13.3.2、<c:set>标签 13.3.3、<c:remove>标签 13.3.4、<c:catch>标签 13.3.5、<c:if>标签 13.3.6、<c:choose>、<c:when>、<c:otherwise>标签 13.3.7、<c:forEach>标签 ...
13.3、核心标签库 13.3.1、<c:out>标签 13.3.2、<c:set>标签 13.3.3、<c:remove>标签 13.3.4、<c:catch>标签 13.3.5、<c:if>标签 13.3.6、<c:choose>、<c:when>、<c:otherwise>标签 13.3.7、<c:...