来自HttpServletResponse的Spring MVC相对重定向


问题内容

给定相对重定向到另一个控制器的这种方法:

@Controller
@RequestMapping("/someController")
public class MyController {
    @RequestMapping("/redirme")
    public String processForm(ModelMap model) {            
        return "redirect:/someController/somePage";
    }
}

假设我位于拦截器中,如何模拟相同的 相对 重定向?

public class MyInterceptor extends HandlerInterceptorAdapter {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
    {
        response.sendRedirect("/someController/somePage");
        return false;
    }
}

现在,有了拦截器,当我真的想进入application.com/deployment/someController/somePage时,我将进入application.com/someController/somePage。当然必须为此有一个“弹簧”解决方案吗?


问题答案:

将我的评论转换为答案-

尝试使用 response.sendRedirect(request.getContextPath() + uri);