4.SpringMVC的数据响应
4.1.SpringMVC的数据响应方式(理解)
1.页面跳转
- 直接返回字符串
- 通过ModelAndView对象返回
2.回写数据
- 直接返回字符串(解析json数据)
- 返回对象或集合
4.2.SpringMVC的数据响应-页面跳转-返回字符串形式(应用)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OxdfClO3-1671702092565)(C:Users紫轩蝶泪AppDataRoamingTyporatypora-user-imagesimage-20220916113108020.png)]
WEB-INF是受饱保护的文件夹,外部很难访问到里面的内容。
4.3.SpringMVC的数据响应-页面跳转-返回ModelAndView形式1(应用)
在Controller中方法返回ModelAndView对象,并且设置视图名称
代码语言:javascript复制 @RequestMapping(value = "/login2") //请求地址
public ModelAndView login2() {
/**
* Model:模型,作用封装数据
* View:视图:作用展示数据
* */
ModelAndView modelAndView = new ModelAndView();
//设置模型数据
modelAndView.addObject("username", "楠木");
//设置视图名称
modelAndView.setViewName("login");
return modelAndView;
}
4.4.SpringMVC的数据响应-页面跳转-返回ModelAndView形式2(应用)
在Controller中方法形参上直接声明ModelAndView,无需在方法中自己创建,在方法中直接使用该对象设置视图,同样可以跳转页面,SpringMVC自己会给方法中传入参数
代码语言:javascript复制 @RequestMapping(value = "/login3") //请求地址
public ModelAndView login3(ModelAndView modelAndView) {
/**
* Model:模型,作用封装数据
* View:视图:作用展示数据
* */
//设置模型数据
modelAndView.addObject("username", "楠羽");
//设置视图名称
modelAndView.setViewName("login");
return modelAndView;
}
@RequestMapping(value = "/login4") //请求地址
public String login4(Model model) {
/**
* Model:模型,作用封装数据
* View:视图:作用展示数据
* */
//设置模型数据
model.addAttribute("username", "楠慧");
return "login";
}
4.5.SpringMVC的数据响应-页面跳转-返回ModelAndView3(应用)
在Controller方法的形参上可以直接使用原生的HttpServeltRequest对象,只需声明即可
代码语言:javascript复制 @RequestMapping(value = "/login5") //请求地址
public String login5(HttpServletRequest request) {
request.setAttribute("username", "楠楠");//设置域对象
return "login";
}