java modelandview

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java modelandview是什麼,讓我們一起了解一下?

modelandview是當控制器處理完請求時,會將包含檢視名稱或檢視物件以及一些模型屬性的ModelAndView物件返回到DispatcherServlet。因此,經常需要在控制器中構造ModelAndView物件。ModelAndView類提供了幾個過載的構造器和一些方便的方法,讓你可以根據自己的喜好來構造ModelAndView物件。這些構造器和方法以類似的方式支援檢視名稱和檢視物件。當你只有一個模型屬性要返回時,可以在構造器中指定該屬性來構造ModelAndView物件。

ModelAndView的使用方法是怎樣的?

新增模型資料用addObject,設定檢視setViewName。

ModelAndView 物件有兩個作用:

1、設定轉向地址,這也是ModelAndView和ModelMap的主要區別。設定方式如下所示:

ModelAndView view = new ModelAndView("path:student");

或者通過setViewName方式:

public void setViewName(String viewName){...}

java modelandview

2、將控制器方法中處理的結果資料傳遞到結果頁面,也就是把在結果頁面上需要的資料放到ModelAndView物件中即可,其作用類似於request物件的setAttribute方法的作用,用來在一個請求過程中傳遞處理的資料。通過以下方法向頁面傳遞引數:

public ModelAndView addObject(String attributeName, Object attributeValue){...}public ModelAndView addObject(Object attributeValue){...}

在jsp中:也是可以通過el表示式語言 a t t r i b u t e N a m e 或 者 C 標 籤 庫 的 attributeName或者C標籤庫的 attributeName或者C標籤庫的{name } 來獲取並展示ModelAndView中的資料。

實戰操作,示例程式碼如下:

package com.itmyhome;    import java.util.ArrayList;  import java.util.HashMap;  import java.util.List;  import java.util.Map;    import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.servlet.ModelAndView;    @Controller  public class Login {        @RequestMapping(value="login")      public ModelAndView login(){          ModelAndView mav = new ModelAndView();          mav.setViewName("welcome"); //返回的檔名                    mav.addObject("message","hello kitty");                    //List          List list = new ArrayList();          list.add("java");          list.add("c++");          list.add("oracle");          mav.addObject("bookList", list);                    //Map          Map map = new HashMap();          map.put("zhangsan", "北京");          map.put("lisi", "上海");          map.put("wangwu", "深圳");          mav.addObject("map",map);                    return mav;      }  }