Bahar 3 referans bize öğretir: Bir yöntem parametreye üzerine yerleştirdiğinizdeMetot argümanı düzeyinde @ModelAttribute ek açıklamasının anlamı nedir?
,
@ModelAttribute
özgü, açıklamalı yöntem parametresi
bir modeli niteliğini eşleyen Bunu anlamıyorum magic spell, çünkü model nesnesinin takma adından (dönüş türü olarak ModelMap
kullanılıyorsa anahtar değeri) istek işleyicisi yönteminin yürütülmesinden sonra Görünüm'e geçirildi. Bu nedenle, istek işleyici yöntemi yürütüldüğünde, model nesnesinin adı, yöntem parametresine eşlenemez.
Bu çelişkiyi çözmek için stackoverflow'a gittim ve this ayrıntılı örneğini buldum. Örneğin yazarı şunları söyledi:
"personAttribute" modeli Öyle görünüyor JSPkontrolöre geçti // o İlkbahar referans olarak charmed edilir
...
Taklitleri dağıtmak için örnek uygulamamı çevremde dağıttım ve @ModelAttribute ek açıklama yöntemini
MainController.saveEdit()
yönteminden kesin. Sonuç olarak uygulama herhangi bir değişiklik yapmadan çalışır! Sonuç olarak: web formunun alan değerlerini argümanın alanlarına iletmek için@ModelAttribute
ek açıklamasına gerek yoktur. Sonra ben soruya takıldım:@ModelAttribute
ek açıklamasının anlamı nedir? Tek örnek, Görünüm'deki model nesnesinin takma adını ayarlamaksa, neden bu nesneyi açıkçaModelMap
nesnesine eklemekten daha iyi? bağımsız değişken açıklamalı değilse ve türü (başka bir deyişle,HttpServletRequest
,ModelMap
ve benzeri değil), bu@ModelAttribute
-annotated argüman gibi tedavi hakkında hiçbir özel bir anlamı vardır -