JSTL:JSP Standard Tag Libaray(JSP标准标签库)
主要分为五大类:
1.核心标签库(Core)
2.l18N格式标签库(l18N-capable format tag libaray)
3.SQL标签库(SQL tag libaray)
4.XML标签库(XML tag libaray)
5.函数标签库(Functions tag libaray)
优点:
1.可读性,易维护,开发.
2.页面设计人员和标签功能开发人员相分离.
3.减少脚本量.
前提条件:JSTL1.1必须在Servlet2.4和JSP2.0以上的容器才能正常工作。
下载JSTL1.1:http://jakarta.apache.org/
导包:将jstl.jar,standard.jar导入
在JSP上写<%@ taglib uri="uri" prefix="prefix" %>
1.核心标签库(Core):
a.表达式操作:
显示:<c:out value="${value}" [escapeXml="true|false"] [default="defaultvalue"]/>
escapeXml:是否使用转换符号,eg:<(<), >($gt)
default:设置默认值
类似:<%= %>
赋值:<c:set value="${value}" var="unable-EL" scope="unable-EL" target="${target}" property="${property}"/>
var:设置变量名称(不能用EL表达式)
scope:设定变量范围(不能用EL表达式),默认为page,可为application,session,request
target:查找JavaBean或java.util.Map对象
property:target指定的对象属性
类似:<%jsp:useBean id="" %>
删除变量:<c:remove var="variable" scope="page|application|session|request" />
捕捉异常:<c:catch [var="variable"]>
var:用来存储错误信息的变量
b.流程控制:
if判断:<c:if test="${value1==value2}" var="save_test_result" scope="page|application|session|request"/>
test:boolean类型,逻辑表达式结果
var:String类型,保存test结果,为"true"或"false"
scope:String类型,变量var的存储范围
eg:
<c:if test="${name == \"Hello\"}" >
<c:out value="${name}">
<c:if>
swich判断:<c:choose>
它是<c:when>跟<c:otherwise>的父标签
eg:
<c:set var="flag" value="true"/>
<c:choose>
<c:when test="${flag == true}">
<c:out value="${flag}" />
</c:when>
<c:otherwise>
<c:out value="false" />
</c:otherwise>
</c:choose>
for循环:<c:forEach var="unable-EL" item="Collection" [varState="unable-EL"] [begin="begin-index"] end="end-index" [step="step-length"]/>
item:Collection对象
varState:变量的成员信息(eg.int i)
begin:(eg.int i = 0中的0)
end:(eg.i < 10中的10)
step:(eg.i++)
eg:
<% List<String> list = new ArrayList<String>();
list.add(0,"Hello");
list.add(1,"world");
request.setAttribute("list",list);
%>
<c:forEach var="element" item="${list}" varState="status">
<c:out value="${elment}">
</c:forEach>
<c:out value="list.index:${status.index}">
<c:out value="list.count:${status.count}">
<c:out value="list.first:${status.first}">
<c:out value="list.last:${status.last}">
利用StringToken迭代:
<c:forTokens item="String Tokens" delims="delimiters" [var="variableName"] [var states="unable-EL"] [begin="begin-index"] [end="end-index"] [step="step-length"]>BodyContent</c:forTokens>
item:String对象,多为正则。
eg:
<%! String str = "123-4567-890";%>
<c:forTokens item="str" var="s">
<c:out value="${s}">
</c:forTokens>
c.URL操作
导包:
<c:import uri="${uri}" [content="${context}"] [var="varName"] [scope="page|application|session|request"] charEncoding="${charEncoding}" [varReader=""]>BodyContent</c:import>
context:不同web站点必须"/"开头
varReader:以Reader对象的形式存储文件中的内容。
类似<jsp:include>但不同的是它不但包括自身WEB应用程序的文件,还包括不同的web应用程序的文件。
参数:<c:param name="${name}" value="${param.name}">
name:参数名称。
value:对应参数的值。
<c:import url="www.iteye.com">
<c:param name="name" value="yourname">
</c:import>
等价于:http://www.iteye.com?name=yourname
<c:url value="${value}" [context="${context}"] [var="varName"] [scope="application|request|session|page"] />
其中主题内容必须含<c:param>
eg:
<img src="<c:url value='www.iteye.com'><c:param name='pic' value='picName'/></c:url>"/>
<img src="www.iteye.com?pic=picName">
重定向:<c:redirect url="http://www.iteye.com/login.jsp">
分享到:
相关推荐
jstl-1.2.1,之前的版本需要在服务器中配置一下,而且它分成了两个jar(jstl.jar和standard.jar)还有一个tld文件,而1.2已经不用配置了,直接把javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-api-1.2.1...
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax...
jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...
本人对jstl的一点小总结 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准...
包含了两个版本jstl文件,standard.jar和jstl-api-1.2.jar是一个版本,导入时需要将两个都导入,jstl-1.2.jar是高版本的,是将低版本的两个文件合成一个了,故只需要导入一个文件即可,导入的同时在jsp文件首行写入 ...
jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2
JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签
JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数
JSTL中文帮助文档 JSTL中文帮助文档 JSTL中文帮助文档 。。。
如果你不使用JSTL 1.0标签 taglibs-standard-jstlel.JAR可以不使用。如果不使用XML库,Xalan包也可以省略。 如果你使用Maven构建您的应用程序,添加以下依赖关系到pom.xml文件: <groupId>org.apache....
JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已! 如果你使用...
JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也...
JSTL标签所需要的tld文件,包括 c.tld、fmt.tld、fn.tld 三个 几乎所有的JSTL标签下载的zip中都只有一个c.tld,然后只讲解<C:>标签怎么用,其实<fmt:> <fn:>标签也非常好用和实用,找了好久才找到...
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 ...
jstl帮助 jstl帮助手册 jstl帮助文档
包含jstl.jar和standard.jar文件,如果要使用JSTL和EL表达式,就必须导入。
鄙人分享 亲测可用 欢迎使用 jstl-impl-1.2.jar jstl-impl-1.2.jar、
项目中添加 jstl.jar 和 standard.jar 两个jar包。然后在页面上添加如下引用: <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> <%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt...