Java教程

springmvc配置了视图控制器的前后缀之后进行不匹配前后缀的转发操作

本文主要是介绍springmvc配置了视图控制器的前后缀之后进行不匹配前后缀的转发操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

事先在spring的xml中配置了视图控制器的前后缀:

    <!--配置controller中方法的返回值的前后缀,简化逻辑视图名称
    比如 return "/WEB-INF/views/ok.jsp
    前缀为 /WEB-INF/views
    后缀为 .jsp
    因为我们在访问页面的时候变化的更多是/WEB-INF/views/xxx.jsp 中的 xxx
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" name="viewResolver"><!--默认视图解析器-->
        <!--前缀:return "/WEB-INF/views/ok.jsp" 中的/WEB-INF/views 前面的部分-->
        <property name="prefix" value="/WEB-INF/views/"></property>
        <!--配置后缀-->
        <property name="suffix" value=".jsp"></property>
    </bean>

这样在请求处理方法return时,默认转发的就是加上了前后缀的路径:

比如 return "ok" 实际上就是转发的 /WEB-INF/views/ok.jsp ,那么想要转发到 login.jsp 该怎么使用呢?

只需要在请求处理方法的 return 中显式地加上 forward:/login.jsp 就行了;

比如:

package cn.cdulm.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ResponseController {
    @RequestMapping("/res1")
    public String res1(){
        return "forward:/login.jsp";
    }

}

访问映射地址:

 

成功!

 

由此可知:加上forward后就不会转交给视图解析器进行解析。

 

这篇关于springmvc配置了视图控制器的前后缀之后进行不匹配前后缀的转发操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!