第一种:   
<rule>
      <from>^/([_0-9a-zA-Z]+)/([0-9a-zA-Z]+)$</from>
      <to>/$1.do?method=$2 </to>
   </rule>第二种
<rule>
      <from>test.html</from>
      <to>test.do?method=toAdd </to>
   </rule>用这俩种方式都可以访问到指定action的方法,但是第一种方法返回的页面样式全部失效了,第二种不会,请问是什么原因啊???

解决方案 »

  1.   

    原因很简单啊。<rule>
      <from>/hello/test.html</from>
      <to>/test.do?method=toAdd </to>
    </rule>
    楼主看上面的目录,你请求的是/hello/test.html,和/test.do不是在同一个路径下。
    你的页面样式引用路径,肯定是相对路径,所以找不到相应的文档。所以这里楼主把引用样式的地方修改成绝对路径就可以了。
    ${pageContext.request.contextPath}/css/test.css
    就像上面这样引用样式。
      

  2.   

    URLRewrite这个我没有用于,保持你获取与转换是在同一个路径下面就可以了。
    <rule>
      <from>/hello/test.html</from>
      <to>/hello/test.do?method=toAdd </to>
    </rule>
    而且URLRewrite除了能把路径换一换,还有什么用?