1. 程式人生 > >springMVC中@ModelAttribute與@SessionAttributes註解一起使用時容易引發的異常

springMVC中@ModelAttribute與@SessionAttributes註解一起使用時容易引發的異常

        當使用@ModelAttribute註解時,會取@ModelAttribute的value值,若@ModelAttribute的value值是空串(即沒有配置@ModelAttribute的value屬性),則會將當前用@ModelAttribute修飾的方法的Bean引數或直接用@ModelAttribute修飾的Bean 的首字母小寫Bean的名字作為attrName.

        接下來會判斷,如果request(Map)的鍵中包含了attrName,則取鍵值為attrName的值賦給Bean,若沒有包含,會判斷當前Handler是否使用了@SessionAttribute。若使用了則會判斷@SessionAttribute的value或names中是否包含了attrName,若有,則將@SessionAttribute名為attrName的值作為attrName的值,若@SessionAttribute的values或names中包含但是沒有相應的值,則會丟擲 異常

。若request(Map)和@SessionAttribute都不包含arrtName則利用反射新建立一個attrName的Bean