由于在使用的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. 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>