对于输出到页面的链接,可以按urlrewrite的规则进行修改,但是那种在后台通过mvc转向的jsp页面,如何处理?比如,现在输出一个model,转向了一个 xx.jsp,如何让浏览器显示为 xx.html??springmvc urlrewrite

解决方案 »

  1.   

    其实是伪静态,很简单,一个urlrewrite.xml,一个urlrewrite包,配置好路径:
    <urlrewrite>
            <rule>
                <from>^/(.*).html</from>
                <to>/detaillist?id=$1</to>
            </rule>
    </urlrewrite>
    在web.xml里面配置
    <init-param>
      <param-name>confPath</param-name>
          <param-value>/WEB-INF/urlrewrite.xml</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
      

  2.   

    这种我知道,这种是前端写超链接时,然后根据配置,解析到真正的地址。但是后端modelAndView呢?
    假设:你前端地址 /a/b/c,然后真正的处理是 /a/b/c.do,在这个do中要返回一个jsp:
     mv.addView("a/d"),也就是返回页面是 /a/d.jsp,这时应该如何处理??因为我程序中只是返回了 mv,然后SPRING就转向了
    /a/d.jsp了,这时是不是还需要一个东西来处理一下??
      

  3.   

    直接配置xml 就好了。 
      

  4.   

    吧beannameurl 定义为 以.html结尾的就行了
      

  5.   

    这种我知道,这种是前端写超链接时,然后根据配置,解析到真正的地址。但是后端modelAndView呢?
    假设:你前端地址 /a/b/c,然后真正的处理是 /a/b/c.do,在这个do中要返回一个jsp:
     mv.addView("a/d"),也就是返回页面是 /a/d.jsp,这时应该如何处理??因为我程序中只是返回了 mv,然后SPRING就转向了
    /a/d.jsp了,这时是不是还需要一个东西来处理一下??一样的啊,伪连接里面不是有参数配置吗?a/b/c.do真正解析的是a/b/c
      

  6.   

    你是指:<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="suffix" value=".jsp"></property>
    </bean>
    这里把 .jsp改成 .html?