日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Model、ModelMap、ModelAndView的作用及區(qū)別

 忠波irlphwt1ng 2019-11-14

Model、ModelMap、ModelAndView的作用及區(qū)別

    對于MVC框架,控制器controller執(zhí)行業(yè)務(wù)邏輯
    用于產(chǎn)生模型數(shù)據(jù)Model
    視圖view用來渲染模型數(shù)據(jù)

Model和ModelAndView這兩個(gè)類在spring的視圖解析時(shí)作用及區(qū)別

1、Model是用來傳輸數(shù)據(jù)的,不會進(jìn)行業(yè)務(wù)的尋址

2、ModelAndView可以進(jìn)行業(yè)務(wù)尋址(就是設(shè)置對應(yīng)的要請求的靜態(tài)文件,靜態(tài)文件類似于jsp文件)

最大的區(qū)別:Model每一次請求可以自動創(chuàng)建,ModelAndView是需要我們自己去new的

Model方法

如果在控制層上的方法聲明了注解@ResponseBody,則會直接將返回值輸出到頁面,Model是一個(gè)接口,實(shí)現(xiàn)類為ExtendModelMap,繼承了ModelMap類。

public class ExtendModelMap extends ModelMap implements Model

model可以用來接收各種類型的數(shù)據(jù),如果用來接收一組數(shù)據(jù)list,那么這個(gè)時(shí)候的model實(shí)際上是ModelMap

ModelMap方法

ModelMap對象主要用于傳遞控制方法處理數(shù)據(jù)到結(jié)果頁面(也就是把結(jié)果頁面上需要的數(shù)據(jù)放到ModelMap對象中就可以了)

作用類似于request對象的setAttribute方法的作用:在一個(gè)請求過程中傳遞處理的數(shù)據(jù)

ModelMap本身不能設(shè)置頁面跳轉(zhuǎn)的URL地址名或者物理跳轉(zhuǎn)地址,此時(shí)可以通過控制器方法的字符串返回值來設(shè)置跳轉(zhuǎn)URL地址別名或者物理跳轉(zhuǎn)地址

ModelAndView方法

添加模型數(shù)據(jù)用addObject;
設(shè)置視圖setViewName;

ModelAndView 對象有兩個(gè)作用:

(1)設(shè)置轉(zhuǎn)向地址,這也是ModelAndView和ModelMap的主要區(qū)別.設(shè)置方式如下所示:

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

或者通過setViewName方式:

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

(2)將控制器方法中處理的結(jié)果數(shù)據(jù)傳遞到結(jié)果頁面(也就是把在結(jié)果頁面上需要的數(shù)據(jù)放到ModelAndView對象中即可)

其作用類似于request對象的setAttribute方法的作用,用來在一個(gè)請求過程中傳遞處理的數(shù)據(jù)。通過以下方法向頁面?zhèn)鬟f參數(shù):

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

在jsp中:也是可以通過el表達(dá)式語言attributeName或者C標(biāo)簽庫的{name } 來獲取并展示ModelAndView中的數(shù)據(jù)。

ModelAndView的實(shí)例是需要我們手動new的,這也是和ModelMap的一個(gè)區(qū)別。
而且,ModelAndView 可以自己尋址,只需要return 返回其對象即可。

記住有一個(gè)需要返回對象,一個(gè)需要返回的是地址路徑。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多