2008-07-18
Struts2标签问题-using Struts tags without the associat
关键字: struts2 标签 taglib配置最近使用struts,在使用标签的时候,出现了这样一个问题。
原本使用标签,引用方法是默认配置:
web.xml:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在页面中引用:
<%@ taglib prefix="s" uri="/struts-tags"%>
由于在使用的web应用中一些特殊应用的关系,web.xml的配置改为:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<taglib>
<taglib-uri>struts-tags</taglib-uri>
<taglib-location>/WEB-INF/struts2-core-2.0.11.jar</taglib-location>
</taglib>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*.action</url-pattern>
</filter-mapping>
让sturts过滤器只接受后缀名为action的请求,并把struts标签配置到web.xml文件。
但在使用中,直接访问index.jsp,出现异常:
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Strut s tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher n eeded for this tag. - [unknown location]
在struts2中不能直接使用jsp,引用struts2的标签么?是否有解决的方法?希望大家能不吝赐教!
- by liuwei1981
- 浏览 (278)
- 评论 (2)
- 相关推荐


评论
另外,关于dtd文件的放置,第三种方法,我的jdk是1.5,dtd文件在META-INFO目录下,运行错误,
第二种方法,我将dtd文件直接放到web-inf目录下,配置文件也按照这个路径配置,还是运行错误
你的这一句话 , 就有问题, 个人认为应该为
<url-pattern>*.action</url-pattern>
否则会抛格式化不正确的异常。
2 .
应该为
<jsp-config> <taglib> <taglib-uri>struts-tags</taglib-uri> <taglib-location>/WEB-INF/struts2-core-2.0.11.jar/struts-2.0.dtd</taglib-location> </taglib> </jsp-config>这样才能找到dtd的位置。
3 另一种解决办法
如果允许的话 , 你可以把dtd放在META-INFO目录下(前提, 你的jdk版本够高)