数据处理

1.提交数据的处理

a)提交的域名称和处理方法的参数一致即可

//处理方法:
    @RequestMapping("/hello")
    public String hello(String name){
        System.out.println(name);
        return "index.jsp";
    }

b) 提交的域名称和处理方法的参数不一致

提交的数据

//处理方法:
@RequestMapping("/hello")
    /*
     * @RequestParam("uname")uname是提交的域的名称
     * */
    public String hello(@RequestParam("uname")String name){
        System.out.println(name);
        return "index.jsp";
    }

c)提交是一个对象。要求提交的form域名和对象的属性名一致,参数使用对象即可

//处理方法:
    @RequestMapping("/person")
    public String person(Person p){
        System.out.println(p);
        return "index.jsp";
    }
//实体类:
public class Person {
    private int ind;
    private String name;
    private String pwd;
    //省略get/set方法
}

2.将数据显示到view

第一种通过ModelAndView--需要视图解析器

 

public class HelloController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        // TODO Auto-generated method stub    
        ModelAndView mav = new ModelAndView();
        //封装要显示到视图中的数据
        mav.addObject("msg", "hello springmvc");
        //视图名
        mav.setViewName("hello");
        return mav;
    }

}

 

第二种通过ModelMap来实现--不需要视图解析器

ModelMap需要作为处理方法的参数

@RequestMapping("/hello")
public String hello(@RequestParam("uname")String name, ModelMap model){
        //相当于request.setAttribute("name",name);
        model.addAttribute("name", name);
        System.out.println(name);
        return "index.jsp";
    }

 

ModelAndViewModelMap的区别:

相同点:都可以将数据封装显示到view层页面中

不同点:ModelAndView可以指定跳转的视图,而ModelMap不能。ModelAndView需要视图解析器,ModelMap不需要配置

 

 

posted @ 2017-01-28 19:31  Realvie  阅读(168)  评论(0编辑  收藏  举报