<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
最近使用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>
由于在使用的web应用中一些特殊应用的关系,web.xml的配置改为:
<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. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
在struts2中不能直接使用jsp,引用struts2的标签么?是否有解决的方法?
找到解决方法了,其实只要再加一个过滤设置就可以了:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
本文讨论了Struts2框架中标签的使用及过滤器配置问题。当过滤器仅处理.action请求时,直接访问.jsp页面会引发异常。通过调整过滤器映射解决了该问题。
2738

被折叠的 条评论
为什么被折叠?



