【问题标题】:Errors/BindingResult argument declared without preceding model attribute in spring 3.2.8在 spring 3.2.8 中没有前面的模型属性声明的 Errors/BindingResult 参数
【发布时间】:2015-11-10 09:52:16
【问题描述】:

我有这个控制器,但我不知道为什么当我访问 /accounts/manageaccount.do 时出现错误

public class ManageAccountController {

    public static final Logger LOGGER = Logger.getLogger    (ManageAccountController.class);        

    /**
     * 
     * @param request the http servlet request.
     * @param model the spring model.
     * 
     */ 
    @RequestMapping(value = "/accounts/manageaccount.do", method = RequestMethod.GET)
    public String showForm( @ModelAttribute("dataAccountCommand") final DataAccountCommand dataAccountCommand,
                            HttpServletRequest request, 
                            BindingResult result, 
                            Model model, 
                            Locale locale) {                            
        return "SHOW_VIEW";
    }       

异常:org.springframework.web.bind.annotation.support.HandlerMethodInvocationException:调用处理程序方法失败 [public java.lang.String fr.telecom.controller.accounts.ManageAccountController.showForm(fr.telecom.domain.formBeans .DataAccountCommand,javax.servlet.http.HttpServletRequest,org.springframework.validation.BindingResult,org.springframework.ui.Model,java.util.Locale)];嵌套异常是 java.lang.IllegalStateException: Errors/BindingResult 参数声明时没有前面的模型属性。检查您的处理程序方法签名!

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

    您需要将BindingResult 参数直接放在带有@ModelAttribute 注释的参数之后。因此,将您的签名更改为:

    @RequestMapping(value = "/accounts/manageaccount.do", method = RequestMethod.GET)
        public String showForm( 
           @ModelAttribute("dataAccountCommand") final DataAccountCommand dataAccountCommand,  
           BindingResult result,       // moved up!                         
           HttpServletRequest request, 
           Model model, 
           Locale locale) {
    
            return "SHOW_VIEW";
        }
    

    应该可以解决问题。

    另请参阅:http://viralpatel.net/blogs/errorsbindingresult-argument-declared-without-preceding-model-attribute/

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 2013-09-09
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 2021-09-03
      相关资源
      最近更新 更多