Я использую Spring 3.1. У меня есть функция контроллера, которая принимает объект команды (держатель данных), отправленный через FORM, и выполняет некоторую обработку:
@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
Некоторые пользователи хотели бы программно сделать ссылки GET для получения информации с сайта, и я хотел бы настроить другой обработчик, который будет обрабатывать этот запрос. Это создаст новый экземпляр объекта command (ssdh) и заполнит его параметрами, отправленными с помощью запроса GET. Затем он передал бы это обработчику выше. Что-то вроде этого:
@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
Мой вопрос заключается в том, как я могу перенаправить свой объект для хранения команд/данных на первую функцию контроллера, так что мне не нужно каким-либо образом изменять код на первый контроллер?