@ModelAttribute annotation can be used for maintaining some common attributes for all the handler methods inside the class, rather than adding attributes for on model in each handler methods. you can also use this annotation inside the handler method parameter. you may use this annotaion as
@ModelAttribute("cities")
public List changeData() {
List cities = new ArrayList();
cities.add("Patna");
cities.add("Delhi");
cities.add("Kanpur");
cities.add("Lucknow");
cities.add("Hyderabad");
cities.add("Merath");
return cities;
}
A sample controller class is given below
MyController.java
package roseindia.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import roseindia.form.SampleForm;
@Controller
public class MyController {
@RequestMapping(value = "/load-form")
public String loadform(@ModelAttribute("sampleForm") SampleForm sampleForm) {
return "index";
}
@RequestMapping(value = "/view-attributes")
public String modelAttributeExample(
@ModelAttribute("sampleForm") SampleForm sampleForm) {
return "view-data";
}
/*
* Set Model Default attribute here.
*/
@ModelAttribute("cities")
public List changeData() {
List cities = new ArrayList();
cities.add("Patna");
cities.add("Delhi");
cities.add("Kanpur");
cities.add("Lucknow");
cities.add("Hyderabad");
cities.add("Merath");
return cities;
}
}
You can download the complete source code from here
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.