好的!本节我们介绍SpringMVC使用servlet原生api作为参数,SpringMVC处理模型数据。
SpringMVC使用servlet原生api作为参数
SpringMVC的Handler方法可以接受参数:
- HttpServletRequest;
- HttpServletResponse;
- HttpSession;
- java.security.Principal;
- Local;
- InputStream;
- OutputStream;
- Reader;
- Writer;
添加servlet依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
controller:
@RequestMapping("/testServletAPI")
public void testServletAPI(HttpServletRequest request, HttpServletResponse response, Writer out) throws IOException {
System.out.println("testServletAPI, "+request+" , "+response );
out.write("hello SpringMVC");
// return "success";
}
html:
<a href="/springmvc/testServletAPI">testServletAPI</a>
结果:
处理数据模型ModelAndView
ModelAndView既包含视图信息,也包含模型数据信息。
controller:
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
String viewName = "success";
ModelAndView modelAndView=new ModelAndView(viewName);
modelAndView.addObject("time",new Date());
return modelAndView;
}
index.html:
<a href="/springmvc/testModelAndView">testModelAndView</a>
success.html:
<html>
<body>
success
<br><br>
time:${requestScope.time}
</body>
</html>
Map
通过map传递数据
controller:
@RequestMapping("/testMap")
public String testMap(Map<String,Object> map){
map.put("names", Arrays.asList("tom","Jerry","Mike"));
return "success";
}
index.html:
<a href="/springmvc/testMap">testMap</a>
success.html:
<html>
<body>
success
<br><br>
time:${requestScope.time}
<br><br>
names:${requestScope.names}
</body>
</html>
- github 地址
https://github.com/chuanleixu/SpringMVC_Tutorials