spring mvc controller返回值的类型

①返回ModeAndView 

※ModeAndView请求转发

说明:返回的modelAndView会返回到前端控制器进行处理,实际上进行了请求转发到返回的试图的面,ModeAndView里面的模型数据也被写进了request域中一同转发到了试图的这个页面,所以在试图的页面中可以request.getAttribute()或者el表达式,获取到被写进ModeAndView的模型数据。ModeAndView这个类有很多的构造方法用于初始化模型和试图。返回的试图是逻辑试图,要通过试图解析器加上前后缀形成真正的试图的url。


※ModeAndView重定向


说明:用ModeAndView进行重定向,需要指定的视图的url前面加上redirect:,如果需要传参的话,可以在url后面进行参数的拼接,通过request.getParameter()进行参数的获取。

②返回String

※请求转发


说明:加上forward的话,不会加上前后缀,所以必须把转发的url写全,加上forward可以重定向到其他方法中进行处理。不加forward,只需要写逻辑视图名,视图解析器会加上前后缀,一般重定向到前端jsp页面。如果需要传值的话,可以直接在方法里面进行参数绑定model对象,往model里面添加数据,实际上是写到了request域中,当然也可以绑定request对象,直接往request里面写数据。通过el表达式,或者request.getAttribute()获取。

※重定向

说明:给返回的url前面加上redirect进行重定向,可以通过url拼接传值。


③返回void


说明:返回值是void的时候,我们可以通过response输出流把数据写出去到请求页面,也可以用request和response进行请求转发和重定向。


总结:   客户端和服务器的交互,无非就是客户端发起请求,服务器接受请求,接下来三种情况:直接处理完后返回结果,在服务器内部进行请求转发然后返回处理结果,重定向返回。万变不离其宗,页面的跳转方式有很多种,无非就是对request,getRequestDispatcher("url").forward(requst.response)请求转发和response.sendRedirect("url");重定向的封装。




做为一个刚为行的菜鸟中的菜鸟,不会的太多太多,哈哈,但是千里之行始于足下,平生第一次写博客,希望可以坚持,加油加油加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值