1. 程式人生 > >springMVC----引數處理

springMVC----引數處理

springMVC引數處理

一、ModelAndView作用 1、設定轉向地址 2、將底層獲取的資料進行儲存(或者封裝) 3、最後將資料傳遞給view

二、ModelAndView使用 方式一:ModelAndView第一種用法,先建立ModelAndView物件,再通過他的方法去設定與轉發的檢視名

@RequestMapping(value = "/test1", method = RequestMethod.GET)
    public ModelAndView test1() {
        ModelAndView modelAndView = new ModelAndView("home"
); modelAndView.addObject("name", "test12222"); return modelAndView; }

ModelAndView(String viewName):viewName name of the View to render, to be resolved by the DispatcherServlet’s ViewResolver

ModelAndView addObject(String attributeName, Object attributeValue):通過key/value的方式繫結資料

方式二:ModelAndView的第二種用法,可以直接通過帶有構造方法ModelAndView(String viewName, String attributeName, Object attributeValue) 來返回資料與轉發的檢視名

public ModelAndView login(@RequestParam("name") String nametest, String pass) {
        UserBean user = new UserBean();
        user.setName(nametest);
        user.setPass(pass);
        Map
<String, Object> data = new HashMap<String, Object>(); data.put("user", user); return new ModelAndView("home", data); }

方式三:ModelAndView自動注入物件

@RequestMapping("/loginbean")
    public ModelAndView login(UserBean bean) {
        Map<String, Object> data = new HashMap<String, Object>();
        data.put("user", bean);
        return new ModelAndView("home", data);
    }

三、request

方式一:直接通過引數

public String test2(HttpServletRequest reques) {
        reques.setAttribute("name_test2", "test2");
        return "home";
    }

方式二:全域性注入

// request 方式
    @RequestMapping("/test3")
    public String test3() {
        request.setAttribute("name_test3", "test3");
        return "home";
    }

四、引數動態處理

@RequestMapping("/url/{id}")
    public String url1(UserBean bean, @PathVariable("id") Integer id) {
        System.out.println(id);
        request.setAttribute("user", bean);
        request.setAttribute("id", id);
        return "home";
    }

ps:參考程式碼UserBean.java、HomeController.java