这要从一个异常说起
According to TLD or attribute directive in tag file, attribute value does not accept any expressions
产生异常的代码是<c:set var="customerid" value="${1+2}"/>
如果使用jstl1.0会产生异常,因为1.0不支持attribute的EL赋值,使用1.1就正常
我们需要在两个地方注意1.0和1.1的使用
一个是web.xml的头
JSTL1.1和JSP2
.0
<web-app version
=
"
2.4
"
xmlns
=
"
http://java.sun.com/xml/ns/j2ee
"
xmlns:xsi
=
"
http://www.w3.org/2001/XMLSchema-instance
"
xsi:schemaLocation
=
"
http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
"
>
</web-app>
JSTL1.0和JSP1
.2

<web-app version
=
"
2.3
"
xmlns
=
"
http://java.sun.com/xml/ns/j2ee
"
xmlns:xsi
=
"
http://www.w3.org/2001/XMLSchema-instance
"
xsi:schemaLocation
=
"
http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_3.xsd
"
>
</web-app>
1.0引入方式
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
1.1引入方式
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
本文探讨了JSTL 1.0与1.1之间的主要区别,特别是在属性表达式的支持方面。通过具体示例说明了在不同版本下使用<c:set>标签时的行为差异,并提供了正确的配置方法。
237

被折叠的 条评论
为什么被折叠?



