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


JSP使用jstl时(<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>),出现了According to TLD or attribute directive in tag file, attribute value does not accept any express的错误。

使用的是jstl-1.0.2.jar和standard-1.0.6,而web.xml中则是http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd。估计是版本不兼容的问题,但具体原因没搞清楚。

网上搜了下,解决方法有两种:

一种是将http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd改成http://java.sun.com/xml/ns/javaee/web-app_2_3.xsd;

另一种是将JSP页面中的<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>改成<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>。在jstl-1.0.2.jar下的META-INF中有一个c.tld还有一个c-rt.tld,后一个好像是jstl核心库备用板的标签描述文件。

原文链接:http://blog.sina.com.cn/s/blog_6b39e1d10100mwp4.html