SpringMVC 的几种返回数据的方式
1.返回一个 ModelAndView构造函数
//对于ModelAndView构造函数可以指定返回页面的名称,也可以通过setViewName方法来设置所需要跳转的页面; @RequestMapping(value="/index2",method=RequestMethod.GET) public ModelAndView index2(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("name", "xxx"); modelAndView.setViewName("/user/index"); return modelAndView; } //返回的是一个包含模型和视图的ModelAndView对象;2.返回一个Model一个模型对象,
/** * Model一个模型对象, * 主要包含spring封装好的model和modelMap,以及java.util.Map, * 当没有视图返回的时候视图名称将由requestToViewNameTranslator决定; * @return */ @RequestMapping(value="/index3",method=RequestMethod.GET) public Map<String, String> index3(){ Map<String, String> map = new HashMap<String, String>(); map.put("1", "1"); //map.put相当于request.setAttribute方法 return map; } //响应的view应该也是该请求的view。等同于void返回。3.返回String
//通过model进行使用 @RequestMapping(value="/index4",method = RequestMethod.GET) public String index(Model model) { String retVal = "user/index"; User user = new User(); user.setName("XXX"); model.addAttribute("user", user); return retVal; }4.返回Json 格式类型 在pom.xml配置文件中加入跟SpringMVC返回JSON数据绑定相关的依赖包:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.8</version> </dependency>java后端代码
import com.gwolf.springmvc.dao.DepartmentDao; import com.gwolf.springmvc.dao.EmployeeDao; import com.gwolf.springmvc.domain.Employee; @Controller public class EmployeeHandler { @Autowired private EmployeeDao employeeDao; @Autowired private DepartmentDao departmentDao; @RequestMapping("/springmvc/testJson") @ResponseBody public Collection<Employee> testJson() { return this.employeeDao.getAll(); } }页面代码,需要在页面添加一个返回JSON的超链接。
<html> <script type="text/javascript" src="scripts/jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(function(){ $("#testJson").click(function(){ var url = this.href; var args = {}; $.post(url,args,function(data) { for(var i=0;i<data.length;i++) { var id = data[i].id; var lastName = data[i].lastName; alert(id+":" + lastName); } }); }); }) </script> <body> <h2> <a href="springmvc/testJson" id="testJson">Test JSON</a> </h2> </body>