ModelAndView传值到JSP页面的四种方法

SpringMVC提供的ModelAndView本质上就是 把传入给它的值加入到request对象中,然后在相对应的jsp中使用EL表达式将值取出来展示或处理。

ModelAndView常用传值方法

1. 直接将值和路径放到构造方法中返回

@RequestMapping(value = "/home")  
public ModelAndView home(HttpServletRequest request, HttpServletResponse response){  
	Listlist=new ArrayList();  
	list.add("aaa");  
	list.add("bbb");  
	list.add("ccc");  
	return new ModelAndView("back/index", "list", list);//直接将值和路径放到构造方法中返回  
}

2. 使用ModelAndView的addObject方法返回list

@RequestMapping(value = "/home")  
public ModelAndView home(HttpServletRequest request, HttpServletResponse response){  
    Listlist=new ArrayList();  
    list.add("aaa");  
    list.add("bbb");  
    list.add("ccc");  
    ModelAndView mav=new ModelAndView();  
    mav.setViewName("back/index");//返回路径  
    mav.addObject("list", list);//使用ModelAndView的addObject方法将list放进去  
    return mav;  
} 

3. 使用ModelAndView的addObject方法返回map

@RequestMapping(value = "/home")  
public ModelAndView home(HttpServletRequest request, HttpServletResponse response){  
	Map map=new HashMap();  
	map.put("PK", "北京");  
	map.put("SH", "上海");  
	ModelAndView mav=new ModelAndView();  
	mav.setViewName("back/index");//返回路径  
	mav.addObject("map", map);  
	return mav;
}

4. ModelAndView返回多个对象

@RequestMapping(value = "/home")  
public ModelAndView home(HttpServletRequest request, HttpServletResponse response){  
    Map map=new HashMap();  
    map.put("PK", "北京");  
    map.put("SH", "上海");  
    return new ModelAndView("back/index","map", map).addObject("msg", "我要返回值");  
}

例子

实例一

//controller.java
@RequestMapping("/test")
public ModelAndView test(){
    ModelAndView mav=new ModelAndView("hello");
    mav.addObject("time", new Date());
    mav.getModel().put("name", "caoyc");
    return mav;
}

//jsp页面
time:${requestScope.time} 
 name:${name }

实例二

//后端代码
@RequestMapping("/index")
public ModelAndView page() {
      ModelAndView view = new ModelAndView("index.jsp");
      view.addObject("parameter1", "java教程网www.51gjie.com");
      return view;
}
//js要写在jsp中
<script>
      var par =${parameter1};
      console.log(par);//打印'随便写点东西'
</script>
//jsp页面,加载页面时候,将参数直接赋值给标签
<input type="hidden" value="${parameter1}"> 

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。