Net olmayan bir şey var!
@ModelAttribute
ek açıklaması, denetleyicide kullanılabilen, html biçiminde yazılan tüm alanların olması için jsp içindeki bir formu denetleyiciye bağlamak için kullanılır. bir post isteği (form gönderme) sonra
What is @ModelAttribute in Spring MVC?
Yani temelde
@ModelAttribute
ile açıklamalı bir yöntem
landing point
yöntem olarak çalışmalarını olmalıdır.
<form:form action="/greeting" >
<form:input path="name" />
<form:input path="lastName" />
<input type="submit" value="Submit" />
</form:form>
public class ModelAttrExample {
String name;
String lastName;
///getter and setter...
}
JSP indexForm.jsp ve form varmış bir SpringController
@Controller
public class GreetingController {
@RequestMapping(value="/greeting", method=RequestMethod.GET)
public String greetingForm(Model model) {
model.addAttribute("", new ModelAttrExample());
return "indexForm";
}
@RequestMapping(value="/greeting", method=RequestMethod.POST)
public String greetingSubmit(@ModelAttribute ModelAttrExample example, Model model) {
example.getName();//same form value
example.getLastName(); //same form value
//do your logic here...
}
}
:
Yani Bir örnek alalım, iki değişkeni bulunan POJO var greetingSubmit()
yönteminin tetiklendiği ve ModelAttrExample
örneğinin sunulduğu Formun verileri ile doldurulmuş, yöntem içinde mevcut olacaktır.
so ... @ModelAttribute, html form alanından değerler almak ve bu verileri bir sınıf örneği değişkenleri içine almak için kullanılır.
ki sen ... Çok iyi yazılmış olabilir ve :)
sayesinde Sir sormaya çekinmeyin Daha fazla bilgiye ihtiyacınız varsa çok kolay
anlamak Spring, bu öğretici takip öneriyoruz cevabınızı. Aslında durum, liste ekranından bir kayıt açmamızdır. Çağrı, FormController'a gider ve burada, @ModelAttribute ("modelAttrVar") public ModelAttr işlevi() {} , db'den belirli bir kaydı ayıklayan modelAttribute işlevine gider. Sonra func2() 'den sonra modelAndView alır ve nihayet jsp'ye gideriz. Ve sonra jsp'de modelAttrVar model Niteliği $ {modelAttrVar.var1} gibi elde ederiz. –
Yani bir kayıt açarken bu modelAttrVar'ı hiçbir zaman ModelAndView'a eklemiyoruz, ancak yine de jsp'ye gidiyor ve modelAttrVar nesnesinden veriler jsp sayfasındaki ilgili alanları doldurmaktadır. Nasıl? –
Akışınızı hala anlayamadım, "Sonra func2() 'yi aldıktan sonra func2()' yi çağıran modelAndView alıyoruz)? Bu yöntemde modeli ve görünümü nasıl alırsınız? Bir listeden bir kayıt seçicisini göstermeniz gerekiyorsa, örneğin kimliği kullanarak bir yöntemi tetikleyebilir, verileri db'den alabilir ve ayıklanan değeri modelle oluşturabilirsin.addAttribute ("modelAttrVar", youExtracteInstanceOfmodelAttrVar); ve sonra jsp'de değerleri $ {modelAttrVar.var1} ile alın, lütfen tüm kodu gösterin ve tam olarak ne yapmanız gerektiğini açıklayın. – daN