The Struts dispatcher cannot be found. 应用struts标签时

    添加时间:2013-6-17 点击量:

    错误场景:


    前提1:struts2核心过滤器过滤url-pattern为.action


    前提2:JSP页面中应用了struts标签


    前提3:经由过程url直接接见该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]


    解决规划:


    错误提示说的很清楚:该错误凡是是由应用struts标签时未接洽关系核心过滤器所致.Struts标签只有当恳求经由过程核心过滤器时才干生效,因为Struts标签须要核心过滤器对其进行初始化.


    1.将web.xml中核心过滤器的映射改为/



    <filter>
    
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAnduteFilter</filter-class>
    </filter>

    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/</url-pattern>
    </filter-mapping>



    2.或者为核心过滤器追加对.jsp的过滤



    <filter-mapping>
    
    <filter-name>struts2</filter-name>
    <url-pattern>.action</url-pattern>
    </filter-mapping>

    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>.jsp</url-pattern>
    </filter-mapping>









     

    文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
    分享到: