你可以做request forwarding
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
處理程序可以檢查該標誌,並請求轉發到新網址(doStuffOld
),你可以使用params選項。
如果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){
....
}
我同意我能做到這一點,但是客戶有嚴格的要求,只有正確的控制器應調用。所以基本上沒有從1控制器重定向到另一個。我試圖弄清楚這個 – user1812652 2013-04-10 03:24:15
@ user1812652的可行性是否需要舊處理程序必須被稱爲'doOldStuff' – 2013-04-10 03:25:58
,哪個是使用'RequestMapping'註釋來映射請求處理程序的彈簧版本 – 2013-04-10 03:27:06