springmvc 在做前臺頁面渲染時,會使用控制器處理方法中保存的模型對象,那對象是怎么添加的呢。
使用@modelattribute 修飾方法,方法入?yún)?,方法返回值這幾種途徑中修飾方法入?yún)r如不用此注解的區(qū)別是什么的,不用注解,綁定是入?yún)㈩愋褪鬃帜感懙膶ο螅駝t綁定的是value屬性指定的對象
如果使用了此參數(shù),首先會查找當(dāng)前模型對象中是否有同屬性的命令對象在,如果有直接傳給入?yún)?如果沒有在看當(dāng)前控制器有沒有被 @SessionAttributes 注解過,如果沒有的話就通過反射創(chuàng)建并傳給此入?yún)ⅲ賹⒄埱蟮母鲗傩员4嬖谄渲?,并保存在模型對象中?如果被@SessionAttributes(“xxx”)注解過,則看session中有沒有xxx同名的對象,沒有的話拋出異常(如果@SessionAttributes沒有設(shè)置value值則同沒有添加@SessionAttributes注解的結(jié)果)。

Paste_Image.png