springMVC中controller的几种返回类型

Controller方法的返回值可以有以下几种:

1、返回ModelAndView

返回ModelAndView时最常见的一种返回结果。需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置。

2、返回String

1):字符串代表逻辑视图名

真实的访问路径=“前缀”+逻辑视图名+“后缀”

注意:如果返回的String代表逻辑视图名的话,那么Model的返回方式如下:

public String testController(Model model){
model.addAttribute(attrName,attrValue);//相当于ModelAndView的addObject方法
return “逻辑视图名”;
}

2):代表redirect重定向

redirect的特点和servlet一样,使用redirect进行重定向那么地址栏中的URL会发生变化,同时不会携带上一次的request

案例:

public String testController(Model model){
return “redirect:path”;//path代表重定向的地址
}

3):代表forward转发

通过forward进行转发,地址栏中的URL不会发生改变,同时会将上一次的request携带到写一次请求中去

案例:
public String testController(Model model){
return “forward:path”;//path代表转发的地址
}

3、返回void

返回这种结果的时候可以在Controller方法的形参中定义HTTPServletRequest和HTTPServletResponse对象进行请求的接收和响应

1)使用request转发页面
request.getRequestDispatcher(“转发路径”).forward(request,response);

2)使用response进行页面重定向
response.sendRedirect(“重定向路径”);

3)也可以使用response指定响应结果
response.setCharacterEncoding(“UTF-8”);
response.setContentType(“application/json;charset=utf-8”);
response.getWriter.write(“json串”);
以上三种返回值没有什么重要和不重要的分别,一般来说都会使用到, 只不过有的时候使用的方式会有一些细微的差别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值