我正在使用Spring 3.1。我有一个控制器函数,它接受通过表单提交的命令对象(数据持有者)并进行一些处理:
@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链接从我们的站点获取信息,我想设置另一个处理程序来处理该请求。 它将创建该命令对象(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
我的问题是,如何将我的命令/数据持有对象转发到第一个控制器函数,以便我无需以任何方式修改第一个控制器函数的代码?