我有這樣在我的控制器的方法:Spring 3.x - 如何從一個返回數據的映射中重定向?
@RequestMapping(value="getData", method=RequestMethod.GET)
@ResponseBody
public List<MyDataObj> getData()
{
return myService.getData();
}
的數據被返回爲JSON或XSL,這取決於該請求。
如果提出請求的人並未被授權訪問我需要將用戶重定向到一個「未授權」頁中的數據,所以這樣的事情:
@RequestMapping(value="getData", method=RequestMethod.GET)
@ResponseBody
public List<MyDataObj> getData()
{
if (!isAuthorized())
{
// redirect to notAuthorized.jsp
}
return myService.getData();
}
所有的例子我見過使用Spring需要該方法返回String
或ModelAndView
。我想過使用HttpServletResponse.sendRedirect()
,但我所有的JSP都在WEB-INF下,無法直接聯繫到。
如何正常拒絕訪問數據請求URL?
這沒有奏效,因爲我用'@ ResponseBody'註解了我的方法。我用JSON中的'RedirectView'對象獲得了所有內容。我現在正在查看'HandlerInterceptor'。 – Paul
@保羅:好點。我編輯了我的答案以刪除那一點。 – skaffman
我不得不重新修改我的目錄結構(我有'/'下的所有東西),但使用攔截器效果很好,謝謝。 – Paul