Spring MVC dostarczanie danych do formularza

Spring MVC dostarczanie danych do formularza
0

Witam,
chciałem się zapytać osób bardziej doświadczonych w Spring MVC o dostarczanie danych do formularza.
MIanowicie mam formularz który zawiera np 7 komponentow select (combobox) teraz aby dostarczyc do nich dane musze wykonac

Kopiuj
 
	@RequestMapping(method = RequestMethod.GET)
	public String prepareForm( Model model) {
		model.add("countryList1", service.getCountryList1());
                model.add("countryList2", service.getCountryList2());
                model.add("countryList3", service.getCountryList3());
                model.add("countryList4", service.getCountryList4());
                model.add("countryList5", service.getCountryList5());
                model.add("countryList6", service.getCountryList6());
                model.add("countryList7", service.getCountryList7());
		return "account/createForm";
	}

Oczywiscie jak mam inne formularze ktore zawieraja czesc tych komponentow znow musze powielac ten kod.

Czy nie można zrobić coś takiego jak w JSF 2

    @Produces("countryList1")
public List provideCountryList1( Model model) {return service.getCountryList1()}
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

można, adnotacja @ModelAttribute to robi.

czyli u Ciebie bedzie cos w stylu
@ModelAttribute("countryList1")
public List provideCountryList1( Model model) {return service.getCountryList1()}

//edit a raczej

Kopiuj
@ModelAttribute("countryList1")
 public List provideCountryList1() {return service.getCountryList1()}

bo model tam juz nie potrzebny ; )


play hard..go pro.
edytowany 1x, ostatnio: Freakman
0

No tak tylko to nie rozwiazuje problemu ze musze to umiescic w kazdym kontrolerze.
Chcialbym uzyskac "madrzejsze zachowanie" tzn jezeli na stronie JSP ktos uzyje

${countryList1} to spring wywola sam odpowiednia metode z @ModelAttribute("countryList1") która UWAGA niekoniecznie musi byc w tym samym kontrolerze

Idealnia chcialbym uzyskac

Kopiuj
 
class DictionaryProviders{
@ModelAttribute("countryList1")
public List provideCountryList1(){...}

@ModelAttribute("countryList2")
public List provideCountryList2(){...}

}

Klasyczne odwrócenie kontroli ...powiedz mi o chcesz a ja Ci to dostarcze

Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

nie kojarze nic takiego co by dzialalo jak chcesz. Ale mozesz dać ModelAttribute w jakiejs klasie nad Twoimi kontrolerami i juz ; )


play hard..go pro.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.