jstl标签库的引入方式

jstl标签库的引用可以用<taglib uri="http://java.sun.com/jstl/core" prefix="c" />和<taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>这两者唯一的区别就是后者的地址中多了一个/jsp。那么这两种引入方式有何区别呢?

首先要明白jstl有如下版本:


版本号      jstl版本                 要求(必须满足此条件)
standard1.2 jstl1.2(尚未经过JCP认证) servlet2.5 jsp2.1     
standard1.1 jstl1.1                  servlet2.4 jsp2.0     
standard1.0 jstl1.0                  servlet2.3 jsp1.2     






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.1版本的jar包中,既包含1.0版本的tld文件,又包含1.1版本的tld文件。所以在页面上引入jstl的时候,上面两种方式都不会报错。但是jstl1.0是不支持EL表达式的(EL表达式是JSP2.0为了简化JSP页面中对对象的访问方式而引入的一种简捷语言,而jstl1.0的规范是JSP1.2,当时还没有EL表达式。),所以如果在页面上使用的jstl标签中包含了EL表达式,那么就会出错。

According to TLD or attribute directive in tag file, attribute value does not accept any expressions。

所以,推荐使用jstl1.1的引入方式。
    <taglib uri="http://java.sun.com /jsp/jstl/core" prefix="c" />

你可能感兴趣的:(jstl标签)