在SSH中配置伪静态的时候出现了问题,
错错误是:HTTP Status 404 - There is no Action mapped for action name country_detail.
详细如下:访问的路径是http://192.168.0.87/db/detail/1.html
这个路径指向一个<rule>
    <from>/db/detail/([0-9]+).html</from>
    <to>/db/detail.html?id=$1</to>
</rule>
db/detail.html的相关配置如下,Struts.xml:<package name="db" extends="struts-default">
<action name="detail" class="com.gboooo.action.country.CountryDetailAction">
<result name="success">/WEB-INF/country/country_detail.jsp</result>
</action>
</package>
CountryDetailAction return SUCCESS,就在<result name="success">/WEB-INF/country/country_detail.jsp</result>的时候,服务器把country_detail.jsp理解成了一个Action,之后就是404了。
web.xml的详细如下,请问应该如何修改:<!-- UrlRewriteFilter的过滤器 -->  
    <filter>  
        <filter-name>UrlRewriteFilter</filter-name>  
        <filter-class>  
            org.tuckey.web.filters.urlrewrite.UrlRewriteFilter  
        </filter-class>  
        <init-param>  
            <param-name>logLevel</param-name>  
            <param-value>debug</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>UrlRewriteFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>   <!-- Struts2.1.8的清理 -->  
    <filter>  
        <filter-name>Struts2CleanUp</filter-name>  
        <filter-class>  
            org.apache.struts2.dispatcher.ActionContextCleanUp  
        </filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>Struts2CleanUp</filter-name>  
        <url-pattern>/*</url-pattern>  
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>  
  
    <!-- Struts2.1.8配置文件 -->  
    <filter>  
        <filter-name>struts2</filter-name>  
        <filter-class>  
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
        </filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>struts2</filter-name>  
        <url-pattern>/*</url-pattern>  
        <dispatcher>REQUEST</dispatcher>   
        <dispatcher>FORWARD</dispatcher>   
    </filter-mapping>  

解决方案 »

  1.   

    我的web.xml是这样的,我的是可以用的,urlrewrite.xml放在你WEB-INF下。试试
    <!--url重写 -->
    <filter>
       <filter-name>UrlRewriteFilter</filter-name>
       <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
       <filter-name>UrlRewriteFilter</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping><!--url重写 end-->
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>        
        </filter>    <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST </dispatcher>  
    <dispatcher>FORWARD </dispatcher>  
    <dispatcher>INCLUDE </dispatcher> 
        </filter-mapping>
      

  2.   

    我有一个项目现在也要用到 urlrewrite 成静态网页的,但是我是第一次接触,不会配置,求教!!!web.xml代码配置如下:<!-- URL重写(urlrewrite)的配置 -->
      <filter>
       <filter-name>UrlRewriteFilter</filter-name>
       <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
       <init-param>
       <param-name>logLevel</param-name>
       <param-value>WARN</param-value>
       </init-param>
      </filter>
      <filter-mapping>
       <filter-name>UrlRewriteFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
    现在的问题就是我不知道该如何配置WEB-INF目录下的urlrewrite.xml文件
    比如,现在又一个地址http://localhost:8080/projectName/web/web_showIndex.action?id1=32&id2=1&id3=15&id4=12&id5=20 在urlrewrite.xml中该如何配置???现在就是不会配置规则。。求教!!! 求教!!!  求教!!!
      

  3.   

    不行 还是原来的错。  因为在调用<result name="success">/WEB-INF/country/country_detail.jsp</result>的时候,服务器把.jsp有创新在过滤器中解析成了Action
    但是我不知道怎么改
      

  4.   

    不行 还是原来的错。  因为在调用<result name="success">/WEB-INF/country/country_detail.jsp</result>的时候,服务器把.jsp有创新在过滤器中解析成了Action
    但是我不知道怎么改