首先说一下我的结论标签库导入错了,应该导入uri="http://java.sun.com/jsp/jstl/core" 或者 "http://java.sun.com/jstl/core_rt"
今天在使用JSTL的时遇到一个错误,如下
According to TLD or attribute directive in tag file, attribute items does not accept any expression
这个错误提示告诉我们,items 属性的值不能是表达式,那我们看一下它的tld文件是不是这样的
按CTRL点uri 找到forEach 的配置(因为我是使用forEach 时报错的),查看如下
forEach 标签中items属性的配置<required> 是否必须,true表示该属性在使用时一定要设置;<rtexprvalue> 是否接受运行表达式的值,比如EL表达式,true表示可以
图中的配置中很显然不支持解析表达式,所以报错,而且这里面的值好像你是不能修改的,反正我是没修改成功,那怎么解决错误了,我们可以看一下其他的tld配置
我们将uri 换成 "http://java.sun.com/jstl/core_rt" ,打开之后同样找到forEach 的配置如下:
那我们可以看到这里面配置的items 属性是可以接受表达式的,那使用这个tld 文件就可以解决问题了,以上仅个人略见,可以实际测试看看,不要信了我的邪