5.springMVC数据回显(就是后台向页面传参的过程)
視頻教程地址:http://edu.51cto.com/sd/2cfc2
數(shù)據(jù)回顯其實(shí)就是指后臺(tái)像前臺(tái)傳參的一個(gè)過(guò)程,這里介紹幾種常見(jiàn)的數(shù)據(jù)回顯:
1.springMVC會(huì)自動(dòng)回顯的實(shí)體類(lèi)
2.常見(jiàn)的攜帶參數(shù)的手段
ModelAndView
Model/ModelMap
Map
這里也可以使用servlet中的session,request等等,只要在方法里以形參的形式聲明,就可以使用
介紹兩個(gè)數(shù)據(jù)回顯的注解
@SessionAttributes
@ModelAttributes
1.springMVC會(huì)自動(dòng)回顯的實(shí)體類(lèi)
實(shí)體類(lèi)的數(shù)據(jù)會(huì)在頁(yè)面進(jìn)入控制器后,springmvc會(huì)自動(dòng)將改實(shí)體類(lèi)的數(shù)據(jù)放到request作用域。但是有個(gè)前提條件
就是:在你形參上聲明的實(shí)體類(lèi)參數(shù),必須是該實(shí)體類(lèi)首字母小寫(xiě):比如Student student,User user如圖
2.ModelAndView:可以攜帶數(shù)據(jù)和視圖
ModelAndView mv = new ModelAndView();
Map<String, Student>map=new HashMap<String, Student>();
mv.addAllObjects(map);
mv.setViewName("hello");
//2.new ModelAndView(viewName,數(shù)據(jù));
ModelAndView mv1 = new ModelAndView("hello",map);
3.Map/Model/ModelMap這幾種的使用方法類(lèi)似(都是直接在方法上以形參的形式聲明,直接使用)
@RequestMapping("model_test")
public Integer model_test(Model model,ModelMap modelMap,Map<Integer, String> map){
model.addAttribute("", "");
modelMap.addAttribute("", "");
map.put(1, "");
return 1;
}
這幾個(gè)攜帶數(shù)據(jù)的時(shí)候都是放在request作用域
4.使用session,request攜帶數(shù)據(jù)的用法和servlet一樣,只要你在方法上以形參的形式聲明,就可以直接使用
public Integer model_test(HttpSession session,HttpServletRequest request){
session.setAttribute("", "");
request.setAttribute("", "");
return 1;
}
5.@SessionAttributes(會(huì)自動(dòng)把model中的數(shù)據(jù)放到session作用域。他是寫(xiě)在類(lèi)上面的,并且屬性名和model中的一致)
這個(gè)注解會(huì)把你放在request作用域的對(duì)象放到session作用域中
聲明在類(lèi)上,并且名字和model中的一致
6.@ModelAttributes(可以把頁(yè)面接收的值放入到request作用域)
可以直接在方法中,如下使用:
相當(dāng)于:request.setAttribute("stu", sb);
總結(jié)
以上是生活随笔為你收集整理的5.springMVC数据回显(就是后台向页面传参的过程)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 教你使用同步助手修复闪退图解教程
- 下一篇: 删除还是彻底销毁销毁和清退的区别