《SpringMVC从入门到放肆》十一、SpringMVC注解式开发处理器方法返回值

上两篇我们对处理器方法的参数进行了分别讲解,今天来学习处理器方法的返回值。

 

一、返回ModelAndView

若处理器方法处理完后,需要跳转到其它资源,且又要在跳转资源之间传递数据,此时处理器方法返回ModelAndView较好。在使用时,若该处理器方法只是进行跳转而不传递数据,或只是传递数据而不跳转资源(比如对页面的Ajax异步响应),此时若返回ModelAndView,总有一部分多余,要么Model多余,要么View多余,此时返回ModelAndView不合适。

 

二、返回String

1:内部资源视图名

在Controller方法中直接返回内部资源视图的名称字符串,如下

@RequestMapping("/toUserList.do")
public String toUserList() throws Exception {
    return "/WEB-INF/jsp/success.jsp";
}

 

注意返回String时可以配合内部资源视图解析器配置的前缀和后缀一起使用。也可以返回视图对象名,配合XmlViewResolver视图解析器来使用。

 

三、返回void

1:通过ServletAPI来传递数据并完成跳转。

2:使用Ajax的时候,不需要有返回值。

 

四、返回Object

处理器方法也可以返回Object对象。但返回的Obejct对象不是作为视图来出现的,而是作为数据在页面直接显示的。返回Object对象,需要配合@ResponseBody注解来使用。如下:

@RequestMapping("/toUserList.do")
@ResponseBody
public String toUserList() throws Exception {
    return new Student();
}

 

返回Object的时候,还有可能返回List和Map以及自定义类型。这些在处理起来需要前后台配合来开发。下面给出一个例子来说明一下,我们由后台返回一个List<Student>来说明问题。

1:一般返回Object都是将对象转换成了Json后传递给前台浏览器的,由对象转换成Json是由jackson包来完成的。所以我们导入jackson包如下:

jackson-annotations-2.2.3.jar
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar

 

2:注册注解驱动

<mvc:annotation-driven />

 

在springmvc.xml中注册注解驱动后,我们将Controller类的方法稍作修改,如下:

@RequestMapping("/list")
@ResponseBody
public List<Student> list(){
    List<Student> list = new ArrayList<Student>();
    for(int i = 0;i < 5;i++){
        list.add(new Student());
    }
    return list;
}

到此我们就了解了SpringMVC注解式开发处理器方法的各种返回值。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值