如何在使用Spring MVC时使用send.redirect()

如何在使用Spring MVC时使用send.redirect(),第1张

概述我试图从Interceptor和Handler Mapping程序重定向到动态页面.我已经定义了一个控制器,它通过模型处理和重定向(/hello.htm)(我的程序中只有这个控制器).在此之前,它工作正常.除此之外,我注册了一个处理程序,一旦满足某些条件,它将重定向到页面.public class WorkingHoursInterceptor extend

我试图从Interceptor和Handler MapPing程序重定向到动态页面.我已经定义了一个控制器,它通过模型处理和重定向(/hello.htm)(我的程序中只有这个控制器).在此之前,它工作正常.除此之外,我注册了一个处理程序,一旦满足某些条件,它将重定向到页面.

public class WorkingHoursInterceptor extends handlerinterceptorAdapter  {@OverrIDepublic 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;............................} 

但是一旦涉及到response.sendRedirect,即使提到的页面存在,它也显示未找到的资源.我试图重定向到“WEB-INF / Jsp / hello.Jsp”,但仍然显示相同的错误.如果不满足拦截器中的条件,则程序正常.

下面显示了程序中唯一存在的控制器.

@Controllerpublic class MyController {@RequestMapPing("/hello.htm")public ModelAndVIEw sayGreeting(){    String msg="Hi,Welcome to Spring MVC 3.2";    return new ModelAndVIEw("WEB-INF/Jsp/hello.Jsp","message",msg);    }}

(如果我改变拦截器条件,处理hello.HTML的控制器工作正常)

如果我只是在控制台中打印一条消息,该程序可以正常工作,而不是重定向.但是一旦涉及到重定向,就会显示错误.我是否需要指定一个单独的控制器来处理此请求?这个重定向请求会转到dispatcher-servlet吗?

最佳答案您需要在视图名称中添加redirect:前缀,重定向的代码如下所示:

@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");}

您可以从这里获得详细说明:
enter link description here 总结

以上是内存溢出为你收集整理的如何在使用Spring MVC时使用send.redirect()全部内容,希望文章能够帮你解决如何在使用Spring MVC时使用send.redirect()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存