好久没有写本身的blog了,由于这一段时间比较忙,抱歉了!
上个星期遇到了一个问题,我原本想在本身的web系统中使用jsp的标准标签,我在本身的jsp文件中添加了<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>,而后我再使用c标签的时候,个人页面却老是报这样的错误
According to TLD or attribute directive in tag file, attribute items does not accept any
expressions
大致上是说根据个人tag文件,items属性中不能接受任何的表达式语言,之前历来没有遇到过这样的事情,用到jsp标准标签的时候几乎都是拷贝过来配置一下就能够使用了。如今只要使用迭代标签就会报错!
我上网搜索了一下发现不少人都遇到了一样的问题,大致的缘由是由于版本不兼容的问题。可是试验了几回都没有成功。
具体的解决方法:
1:从apache的网站上down下了新的standard.jar、jstl.jar和c.tld。我发现新的文件的确比我原来的文件要大,并且c.tld文件的内容已经不同了。更新了jar文件和tld文件。
2:个人web.xml文件的配置是
<
web-app
xmlns
="[url]http://java.sun.com/xml/ns/j2ee[/url]"
xmlns:xsi
="[url]http://www.w3.org/2001/XMLSchema-instance[/url]"
xsi:schemaLocation
="[url]http://java.sun.com/xml/ns/j2ee[/url] [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]"
version
="2.4"
>
web.xml文件中也不须要配置tag标签,也就是c.tld文件的位置,只须要拷贝到WEB-INF目录下面便可,这应该得益于jsp2.0的规范了,它能够自动寻找到。
从新启动web程序,测试经过了。果真就是版本不兼容的问题了。呵呵!