SpringMVC控制器方法參數傳入的ModelMap 和Model類型有啥區別
阿新 • • 發佈:2017-12-12
添加 nbsp modem 參考 添加數據 jsb hashmap cnblogs sso
參考
http://blog.csdn.net/u013067598/article/details/69372309
http://blog.csdn.net/u013686993/article/details/52932079
可見最終傳入的是ExtendedModelMap ,它繼承了ModelMap ,實現了Model接口,
ModelMap又繼承自HashMap。
Model接口的方法
ModeMap類的方法:
ExtendedModelMap類的方法:
可見ExtendedModelMap的方法跟ModelMap都一樣,並麽有增加什麽,估計是功能增強了吧。
而從ModelMap開始由於繼承了HaspMap所以多了很多Map的方法
Model接口就是主要定義了往模型中添加數據的幾個方法。
所以參數類型寫ModelMap和Model都沒錯,寫成Map也能用,甚至還可以寫成ExtendedModelMap。
如果只是讀取模型裏的數據的話寫成Map類型也行,有get方法就夠了,失去了Moel接口的addAttribute添加模型數據的方法。
如果只是往模型裏寫入數據的話,寫個Model類型參數就足夠了,能addAttribute就行,不需要HaspMap的get方法。
當然實際用的話誰還去想那麽細呢,搞個ModelMap讀寫都能行就成了!
SpringMVC控制器方法參數傳入的ModelMap 和Model類型有啥區別