关于jsp中使用jstl
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sunny.blog.51cto.com/182601/39929 |
很久没有写自己的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="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.xml文件中也不需要配置tag标签,也就是c.tld文件的位置,只需要拷贝到WEB-INF目录下面即可,这应该得益于jsp2.0的规范了,它可以自动寻找到。
3:把<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
改为<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> 重新启动web程序,测试通过了。果然就是版本不兼容的问题了。呵呵!
本文出自 “张健的博克” 博客,请务必保留此出处http://sunny.blog.51cto.com/182601/39929 本文出自 51CTO.COM技术博客 |



张健的博克
博客统计信息
热门文章
最新评论
友情链接
