问题定义我有一个指向myapp/doStuff的链接
目前,我有一个Spring控制器来处理这个请求。说doStuffOld
然而,现在对于一个新的项目,我需要做以下的1。添加一个日期相关的标志- dateFlag (false如果date< 10-9月其他为真) 2。创建一个新的控制器doStuffNew 3。对于相同的url (myapp/doStuff),如果dateFlag是false,则需要使用doStuffOld,使用doStuffNew
在春天实现这一目标的最佳方法是什么。注意: URL动态地来自应用程序之外,不能被更改。
发布于 2013-04-10 03:19:36
你可以做请求转发
boolean dateFlag = Boolean.getBoolean(request.getParameter("dateFlag")); //Get the dateFlag value in the `doStuff` handler method
if(dateFlag){
request.getRequestDispatcher("doStuffOld").forward(request, response);
return null;
}
在myapp/doStuff
处理程序中,您可以检查标志并将请求转发到new (doStuffOld
),您可以使用参数选项。
另一种解决方案,如果使用了RequestMapping,并且您不希望旧的处理程序被称为doOldStuff
@RequestMapping(value="doStuff", params="dateFlag=true")
public ModelAndView doStuff(HttpServletRequest request, HttpServletResponse response){
....
}
@RequestMapping(value="doStuff", params="dateFlag=false")
public ModelAndView doOldStuff(HttpServletRequest request, HttpServletResponse response){
....
}
https://stackoverflow.com/questions/15916274
复制相似问题