如何在使用Spring MVC时使用send.redirect()
我试图从拦截器和处理程序映射程序重定向到一个动态页面。我已经定义了一个控制器,它通过模型处理和重定向(/hello.htm)(我的程序中只有这个控制器)。在这一点之前,它工作得很好。除此之外,我还注册了一个处理程序,一旦满足某个条件,它将重定向到某个页面如何在使用Spring MVC时使用send.redirect(),spring,spring-mvc,redirect,Spring,Spring Mvc,Redirect,我试图从拦截器和处理程序映射程序重定向到一个动态页面。我已经定义了一个控制器,它通过模型处理和重定向(/hello.htm)(我的程序中只有这个控制器)。在这一点之前,它工作得很好。除此之外,我还注册了一个处理程序,一旦满足某个条件,它将重定向到某个页面 public class WorkingHoursInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRe
public class WorkingHoursInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("In Working Hours Interceptor-pre");
Calendar c=Calendar.getInstance();
if(c.get(Calendar.HOUR_OF_DAY)<10||c.get(Calendar.HOUR_OF_DAY)>20){
response.sendRedirect("/WEB-INF/jsp/failure.jsp");
return false;
}
return true;
..............
..............
}
(如果我更改拦截器条件,用于处理hello.html
的控制器工作正常)
如果我只是在控制台中打印一条消息,而不是重定向,那么程序工作正常。但一旦它转向,就会显示错误。我是否需要指定一个单独的控制器来处理此请求?此重定向请求是否会转到dispatcher servlet?您需要在视图名称中添加
重定向:
前缀,重定向代码如下所示:
@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public String redirect() {
return "redirect:finalPage";
}
或
您可以从这里获得详细说明:
Hi All,而不是重定向;若我只是在控制台中打印一条消息,那个么程序运行良好。但一旦转向,它就会显示错误。我是否需要指定单独的控制器来处理此请求?此重定向请求是否会转到dispatcher servlet?
@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public String redirect() {
return "redirect:finalPage";
}
@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ModelAndView redirect() {
return new ModelAndView("redirect:finalPage");
}