JSTL目前有3個版本:JSTL1.0、JSTL1.1、JSTL1.2
JSTL1.0和JSTL1.1包含jstl.jar和standard.jar這2個jar包,在j2ee4的版本中是需要單獨引用這2個jar包的。
JSTL1.2在J2EE5里的jar包是jstl-1.2.jar,在J2EE6里是jstl-imp.jar。
各版本差異:
JSTL1.0(不支持EL)、JSTL 1.1和JSTL 1.2支持的servlet和jsp規范也不同:
web.xml中要申明相應的servlet版本:
JSTL1.2需要servlet2.5 <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
JSTL1.1和JSP2.0需要servlet2.4 <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4 .xsd">
JSTL1.0和JSP1.2需要servlet2.3 <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.3 " xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_3 .xsd">
JSP中taglib的引用方式:
JSTL1.0的使用方法為: <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> JSTL1.1的使用方法為: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> JSTL1.2的使用方法為 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
EL表達式的支持:
默認開啟支持EL表達式支持有:
1、servlet2.4
2、J2EE6
默認不支持EL表達式需要進行如下2種配置中的其一來開啟EL:
1、在JSP中加入:
<%@ page isELIgnored="false"%>
2、在web.xm中加入:
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> </jsp-property-group> </jsp-config>
最終的結論:如果是新項目建議使用J2EE6,因為新項目不可能還使用servlet2.4。