加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

RedirectAttributes在Spring 3.1中给出IllegalStateException

发布时间:2020-12-15 01:23:47 所属栏目:大数据 来源:网络整理
导读:我想使用在Spring 3.1中出现的RedirectAttibutes属性,我在我的控制器中有以下处理程序方法 @RequestMapping(value = "/register",method = RequestMethod.POST)public String register(@ModelAttribute("admin") Admin admin,BindingResult bindingResult,Se

我想使用在Spring 3.1中出现的RedirectAttibutes属性,我在我的控制器中有以下处理程序方法

    @RequestMapping(value = "/register",method = RequestMethod.POST)
public String register(@ModelAttribute("admin") Admin admin,BindingResult bindingResult,SessionStatus sessionStatus,RedirectAttributes redirectAttributes) {
    redirectAttributes.addAttribute("admin",admin);
    if (bindingResult.hasErrors()) {
        return REGISTRATION_VIEW;

    }
    sessionStatus.setComplete();
    return "redirect:list";
}

但是当我提交表单时,我得到以下异常:

java.lang.IllegalStateException: Argument [RedirectAttributes] is of type Model or Map but is not assignable from the actual model. You may need to switch newer MVC infrastructure classes to use this argument.
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:322)

我遇到了一些redirectAttributes的问题,你不能使用ModelAndView作为返回类型.所以我只返回了字符串视图.

任何人都可以.告诉我哪里出错了?

谢谢.

最佳答案
Spring 3.1引入了新版本的Spring MVC后端实现(RequestMappingHandlerMapping / RequestMappingHandlerAdapter)来替换旧版本(DefaultAnnotationHandlerMapping / AnnotationMethodHandlerAdapter).

Spring MVC 3.1的一些新功能(例如RedirectAttributes)仅受新实现的支持.

如果您使用< mvc:annotation-driven>或者@EnableWebMvc启用Spring MVC,默认情况下应该启用新的实现.但是,如果手动声明HandlerMapping和/或HandlerAdapter或使用默认值,则需要明确切换到新实现(例如,切换到< mvc:annotation-driven&gt ;,如果它不会破坏您的配置).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读