今天搞JSTL时,发现了一个很大问题,JSTL什么语法都没错的情况下还报以下的错:
org.apache.jasper.JasperException: /index.jsp(42,5) According to TLD or attribute directive in tag file, attribute items does not accept any expressions
太惊喜了,终于找到原因所在,原来是web.xml里的版本问题:
<?xml version="1.0" encoding="UTF-8"?>
<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">
以上的配置是出现问题的配置,把2.5的版本改成2.3 就可以了;如下:
<web-app version="2.3 "
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_3. xsd">