springMVC数据的处理
1、 提交的数据处理
1.1、 提交的域名称和处理方法参数一致即可

处理方法
@RequestMapping("/hello")
public String hello(String name) {
System.out.println(name);
return "index.jsp";
}
1.2、 如果域名称和参数不一致

处理方法
@RequestMapping("/hello")
public String hello(@RequestParam("uname") String name) {
System.out.println(name);
return "index.jsp";
}
1.3、 提交的是一个对象
要求提交的表单域名称和对象的属性名一致,参数使用对象即可。

处理方法
@RequestMapping("/user")
public String user(User user) {
System.out.println(user);
return "/index.jsp";
}
实体类
public class User { private Integer id; private String name; private String pwd; }
2、 将数据显示到UI层
2.1、通过ModelAndView——实现视图解析器
@RequestMapping("/hello")
public ModelAndView hello(HttpServletRequest request, HttpServletResponse response) {
System.out.println("hello springmvc annotation");
ModelAndView mv = new ModelAndView();
mv.addObject("msg", "hello springmvc annotation");
mv.setViewName("hello");
return mv;
}
<!-- 配置视图渲染器 --> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <!-- 结果视图的前缀 --> <property name="prefix" value="/WEB-INF/jsp/"/> <!-- 结果视图的后缀 --> <property name="suffix" value=".jsp"/> </bean>
2.2、通过ModelMap、Model——不需要视图解析器
ModelMap、Model需要作为方法的参数
@RequestMapping("/hello")
public String hello(@RequestParam("uname") String name, ModelMap modelMap) {
System.out.println(name);
modelMap.addAttribute("name", name);
return "/index.jsp";
}
@RequestMapping("/user")
public String user(User user, Model model) {
System.out.println(user);
model.addAttribute("user", user);
return "/index.jsp";
}
ModelAndView和Model、ModelMap的区别:
相同点:
都可以将数据封装显示到表示层页面中
不同点:
ModelAndView可以指定跳转的视图,而Model、ModelMap不能;
ModelAndView需要视图解析器,而Model、ModelMap不需要配置。

浙公网安备 33010602011771号