jstl标签引用失败所遇到的问题

首先发现的问题是${aaa},像这样的标签无法解析,当在页面上添加这样的标签声明的时候

<%@ taglib prefix="c" uri= "http://java.sun.com/jstl/core "%>

貌似所有的<c:out诸如此类的都可以使用了,但并不是真的我们引入的jstl包和standar包都起作用了,因为像这样的${aaa}标签还是无法解析的,说明引用还有问题。
在web文件中我们注册了这些tag,诸如 

1 <taglib>
2 <taglib-uri>/tags/c</taglib-uri>
3 <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
4 </taglib>

所有的tld文件都放在web-inf下面,在页面上引用这些标签的时候如

<%@ taglib uri="/tags/c" prefix="c" %>

会发现c标签全部都无法解析,而换成

<%@ taglib prefix="c" uri= "http://java.sun.com/jstl/core "%>

的时候还可以,说明这些标签文件还是没有引用成功,什么原因呢,这个问题折腾了我一天,因为web工程的web.xml文件头声明的servlet版本有问题,在eclipse中默认的web.xml是没有版本定义的文件头的,默认的版本应该是servlet2.3,当我们添加如下声明的时候

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

同时,需要修改一下web.xml文件中对应的出现红线的地方,在tag声明部分也需要加上<jsp-config>标签,如下所示:

    <jsp-config>
    
<taglib>
        
<taglib-uri>/tags/struts-bean</taglib-uri>
        
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
    
</taglib>
        
</jsp-config>

ok,运行,正常!
另,我用的jstl和standar都是1.1.2版本的

posted on 2008-04-02 16:30 reeve 阅读(1281) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

统计

常用链接

留言簿(2)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜