关于According to TLD or attribute directive in tag file, attribute value does not accept any expressions异常
在做项目时遇到了这个异常,网上一查才知道 JSTL core库的版本问题。
当我们在web.xml中使用:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
.....
</web-app>
时
我们在jsp才用<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>方式引入。
而当我们的web.xml是
<web-app 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" version="2.4">
或
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
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">
则需要:
在jsp中用<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>方式引入。
若若版本不对应在运行时可能会出现JSP异常, 发生在使用JSTL库: According to TLD or attribute directive in tag file, attribute value does not accept any expression.