SpringMVC中的转发和重定向

@Controller
public class HelloController {


    /** 转发
     * 处理方法返回ModelAndView,实现转化forward
     * 语法:setViewName("forward:视图文件完整路径")
     * forward特点:不和视图解析器一同使用,就当项目中没有视图解析器。
     *
     */
    @RequestMapping(value = "/forward.do")
    public ModelAndView doForward(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("msg", "Hello Spring MVC");
        // modelAndView.setViewName("show");
        //没有配置视图解析器的文件可以用转发,显示转发
        modelAndView.setViewName("forward:WEB-INF/view/forward.jsp");
        // modelAndView.setViewName("forward:WEB-INF/hello.jsp");
        return modelAndView;

    }
    /**
     * 重定向
     * 处理方法返回ModelAndView,实现重定向redirect
     * 语法:setViewName("redirect:视图文件完整路径")
     * redirect特点:不和视图解析器一同使用,就当项目中没有视图解析器。
     *
     */
    @RequestMapping(value = "/redirect.do")
    public ModelAndView doRedirect(){
        ModelAndView modelAndView = new ModelAndView();
        //数据放入request域中
        modelAndView.addObject("msg", "Hello SpringMVC");
        //重定向
        modelAndView.setViewName("redirect:/redirect.jsp");
        // modelAndView.setViewName("redirect:WEB-INF/view/redirect.jsp"); 在重定向操作不能访问WEB-INF下的资源
        /*
        * 框架对重定向的操作:
        *           1,框架会把Model中的简单类型的数据,转为string使用,作为hello.jsp的get请求参数使用。
        *           目的是在doRedirect.do和hello.jsp 两次请求之间传递数调
        *           2,在目标redirect.jsp页面可以使用参数集合对象,${param}获取请求参数值
        *           ${param.msg}
        *           3,在重定向操作不能访问WEB-INF下的资源
        * */
        //http://localhost:8080/ch08/WEB-INF/redirect.jsp?msg=Hello+Spring+MVC
        return modelAndView;

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值