在应用中要使用JSTL标签库以及它的表达式语言只需如下几步即可:
1. 将jstl.jar和standard.jar包含到应用程序中(WEB-INF/lib目录下);
2. 修改web.xml,在其中加入如下片段:
显示代码打印
1 <taglib>
2 <taglib-uri>core</taglib-uri>
3 <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
4 </taglib>
5 <taglib>
6 <taglib-uri>fmt</taglib-uri>
7 <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
8 </taglib>
OK,现在我们就可以使用JSTL标签以及表达式了。尽管这两部非常简单,但是还是
花了我一点时间,下面是几点要注意的地方:
1. JSTL是基于JSP技术的,因此我们Web服务器必须是一个JSP容器
2. 关于web.xml,它的头必须是这样的:
显示代码打印
1 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
4 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
5 version="2.4">
之前我的web.xml是eclipse自动生成的,头如下所示:
显示代码打印
1 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD
2 Web Application 2.3//EN" "web-app_2_4.dtd" >
3 <web-app>
这样的直接后果就是页面上不支持JSTL表达式,比方说我有一个${3+7},正常情况下它应该显示为10,结果它直接显示为${3+7},为什么会这样呢?因为只有Servlet2.4才支持这种表达式的写法,所有web.xml的头必须修改。
3.standard.jar包必须要包含,实际上我们在页面中使用标签依靠的都是这个包,我们可以打开c.tld文件,随便找一段话看看,如下所示:
显示代码打印
01 <tag>
02 <description>
03 Simple conditional tag that establishes a context for
04 mutually exclusive conditional operations, marked by
05 <when> and <otherwise>
06 </description>
07 <name>choose</name>
08 <tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
09 <body-content>JSP</body-content>
10 </tag>
这说明<c:choose>标签依赖于org.apache.taglibs.standard.tag.common.core.ChooseTag类,而这个类就包含在standard.jar中。
4.在jsp中使用jstl标签需要使用taglib指令,如下所示:
显示代码打印
1 <%@ taglib prefix="c" uri="core" %>
文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/1_web/javascript/jsjs/2007923/73267.html