这要从一个异常说起
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"%>