spring mvc controller返回值的类型

来源:互联网 发布:文档大师 让去淘宝买 编辑:程序博客网 时间:2024/05/21 17:19

①返回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");重定向的封装。




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

原创粉丝点击