Spring-MVC 3.1: Przekazywanie żądania z jednej funkcji kontrolera do innej
Używam Spring 3.1. Mam funkcję kontrolera, która pobiera obiekt polecenia (posiadacza danych) przesłany za pomocą FORMULARZA i wykonuje pewne przetwarzanie:
@RequestMapping(value = "/results", method = RequestMethod.POST)
public String toResultsScreen(@ModelAttribute("ssdh") SearchScreenDataHolder ssdh,
BindingResult bindingResult,
ModelMap model,
HttpSession session) {
if (bindingResult.hasErrors()) {
logger.debug("Error returning to /search screen");
return "search";
}
netView = "results";
// do stuff
return nextView;
} // end function
Niektórzy użytkownicy chcieliby programowo utworzyć łącza GET w celu uzyskania informacji z naszej witryny i chciałbym skonfigurować inny program obsługi, który obsługiwałby to żądanie. Stworzyłoby to nową instalację tego obiektu polecenia (ssdh) i zapełniłoby go parametrami wysłanymi przez żądanie GET. Potem przekaże go przewodnikowi powyżej. Coś takiego:
@RequestMapping(value = "/pubresult")
public String toPublicResultsScreen(ModelMap model,
HttpSession session,
@RequestParam (required=true) String LNAME,
@RequestParam (required=false)String FNAME){
Search search = new Search(usertype);
// Capture the search parameters sent by HTTP
ssdh.setLast_name(LNAME);
ssdh.setFirst_name(FNAME);
// To Do: "forward this data holder, ssdh to the controller function quoted first
return nextView;
} // end function
Moje pytanie brzmi: w jaki sposób mogę przekazać mój obiekt komendy / właściciela danych do pierwszej funkcji kontrolera, tak że nie muszę w żaden sposób zmieniać kodu na pierwszą funkcję kontrolera?