【发布时间】:2015-05-13 18:06:42
【问题描述】:
我使用spring-mvc 并且我有一个返回void 的ajax 调用,因为我只是更新了数据库中的一些数据。但是如果用户没有登录,我想将他重定向到登录页面,但我必须指定String 作为返回而不是void,所以我该如何处理?
@RequestMapping(value="/add_to_fav")
public @ResponseBody
void add_to_fav( ... ) {
....
if(session.getAttribute("contact") == null)
return "redirect:/login?next="+URLEncoder.encode(
request.getRequestURL().toString() + "" + (request.getQueryString() != null ? "?" + request.getQueryString() : "")
,"utf-8");
....
}
【问题讨论】:
-
返回真/假...如果更新则为真,如果未登录则为假
-
但我想将用户重定向到登录页面
-
在ajax成功后检查是否为假然后重定向
-
不,我不会添加从客户端到服务器的额外往返
-
您别无选择,只能在客户端执行此操作,即在 Javascript 中。如果您使用的是 jQuery,我可以为您提供一个干净的解决方案,您可以在您的应用程序中全局配置以捕获所有具有会话超时的 ajax 请求。
标签: java ajax spring-mvc servlets