日期:2014-05-18  浏览次数:20714 次

使用Url Rewrite Filter实现页面伪静态化的一个小问题 ????
我的urlrewrite.xml配置如下:
<urlrewrite>

      <rule>
        <from> ^/world/([0-9]+).html$ </from>
           
   
        <to   type= "forward "> /world.jsp?id=$1 </to>

        </rule>
       
      <outbound-rule>
        <from> ^/world.jsp?id=([0-9]+)$ </from>

        <to> /world/$1.html </to>
        </outbound-rule>
</urlrewrite>


world.jsp页如下:
<a   href= " <%=response.encodeURL( "/world.jsp?id=552 ")%> "> nyc </a>  
<%
response.getWriter().println(request.getParameter( "id "));
 
%>

现在的问题就是我把这个连接不能正确的解析与静态页
如果这个连接不加参数的话也就是说
<a   href= " <%=response.encodeURL( "/world.jsp ")%> "> nyc </a>  
然后在把节点改成       <outbound-rule>
        <from> ^/world.jsp$ </from>

        <to> /world/1.html </to>
        </outbound-rule>
那么就会正常的解析,现在不知道为什么一使用参数就不能正确的解析了,望高手指教


------解决方案--------------------
Url Rewrite 其实是把动态的页面隐射成静态的,显示的是xx.html,但是其实是利用Url Rewrite Filter重定向,这点的话,只要配置文件即可