文章目录
SpringMVC的数据响应方式
1.页面跳转
直接返回字符串
会将返回的字符串和视图解析器的前后缀拼接后跳转
通过ModelAndView对象返回
方式一:自行创建ModelAndView对象
ModelAndView modelAndView = new ModelAndView();
//设置模型数据
modelAndView.addObject("username","itcast");
//设置视图名
modelAndView.setViewName("success");
return modelAndView;
方式二:在方法中提供ModelAndView对象参数,系统会自行创建
@RequestMapping(value = "/quick3",method = RequestMethod.GET)
public ModelAndView save3(ModelAndView modelAndView) {
/*
* Model模型:作用封装数据
* view模型:展示数据
* */
modelAndView.addObject("username","itheima");
//设置视图名
modelAndView.setViewName("success");
return modelAndView;
}
方式三:拆分model,提供model参数
@RequestMapping(value = "/quick4",method = RequestMethod.GET)
public String save4(Model model) {
/*
* Model模型:作用封装数据
* view模型:展示数据
* */
model.addAttribute("username","博学谷");
return "success";
}
2.回写数据
直接返回字符串
1.在方法中添加HttpServletrequest对象 然后调用response对象的setAttribute方法,输出字符串
2.在方法中添加HttpServletresponse对象 然后调用response对象的getWriter方法,输出字符串
3.直接创建String返回值的方法,直接返回字符串,但是需要添加注解,告诉SpringMC框架直接数据回写,不是资源跳转
- 返回指定格式的字符串(json)
同样是创建一个返回值为String的方法,创建实体类,导入包,使用objectMapper.writeValueAsString将字符串转为json格式字符串 - 返回对象或集合
@ResponseBody
使用适配器,将对象或集合转化为json类型数据。但是需要配置json转换器比较繁琐
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
</list>
</property>
</bean>
使用注解驱动,默认底层就会配置json转换器
在Spring-config中配置下列代码
<mvc:annotation-driven/>