久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - SpringMVC中的@ModelAttribute注解是可有可無的嗎?

瀏覽:127日期:2024-01-06 11:43:50

問題描述

在學習SpringMVC中的使用Controller接受表單的值,按照《Spring實戰》中的代碼,Controller如下:

@RequestMapping(value = '/register', method = POST) public String processRegistration(Spitter spitter) {System.out.println(spitter.getUsername());spitterRepository.save(spitter);return 'redirect:/spitter/' + spitter.getUsername(); }

打印那行是我自己加的,用來驗證表單的值是否綁定到了Spitter對象而Spring官方的教程中在Spitter前面多了一個@ModelAttribute注解,但是在這個例子里面產生的效果和不加似乎是一樣的,都能夠綁定表單信息到對象中,所以想問下這個注解的功能?在這個例子中是不是即使不顯示寫也能有一樣的功能?

問題解答

回答1:

不是的,@ModelAttribute有兩個作用,一個是取出數據,也就是將數據從請求中取出來封裝到controller方法的參數中一個是將這個數據放置到Model中,這樣你就可以在jsp頁面中使用EL表達式取出數據并顯示

回答2:

如果在參數上加了@ModelAttribute 注解,再執行@RequestMapping之前會先找到@ModelAttribute中的key,如果沒有@ModelAttribute ,如何沒有或者沒有獲取到則會通過反射實例化一個spitter對象,再通過request拿到你set到對象里面的值。雖然結果是一樣的,但是走的流程不一樣。

回答3:

雖然有它自己特點,但是用了這么久,都沒用上過,我覺得可以忽略 @ModelAttribute

標簽: java
相關文章:
主站蜘蛛池模板: 改则县| 兴业县| 军事| 石河子市| 西乡县| 昆明市| 渝北区| 浮山县| 武安市| 禄丰县| 睢宁县| 佛学| 仙桃市| 安塞县| 淳安县| 沈丘县| 开阳县| 定襄县| 德兴市| 博白县| 江油市| 永昌县| 金秀| 阿拉善左旗| 贺州市| 随州市| 乐至县| 叶城县| 富民县| 潜江市| 灵璧县| 迁安市| 邢台市| 凤山县| 清新县| 乌兰察布市| 吉安市| SHOW| 东明县| 九龙城区| 慈利县|