关于spring mvc IllegalStateException: Neither BindingResult nor plain targe

问题描述

本人在网上那个百度了一个学习SSM框架的教程,其中教程中有一段是表单的数据和后台的交互,其中非常不理解为什么要利用model的 addAttribute()操作,或者生成 new ModelAndView(“student”, “command”, new Student());这个操作,并且自己修改了一下,对表单不执行这些操作,运行代码并访问url页面,发现报错。
报错信息如下:

JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for 
bean name 'command' available as request attribute

当然报错信息绝对不只有这些。我很奇怪,这个“command”到底是什么东西,我的代码及XML文件中都没有这个字符。

问题解决

后面百度了一下,没有直接找到答案,但是发现有一篇博客讲解了一下,在spring mvc 表单的操作下,表单会有一个modelAttribute属性,这个属性默认情况下是“command”,官方文档说明

<attribute>  
    <description>Name of the model attribute under which the form object is exposed.  
    Defaults to 'command'.</description>  
    <name>modelAttribute</name>  
    <required>false</required>  
    <rtexprvalue>true</rtexprvalue>  
</attribute>  

于是明白了,于是知道了 表单的 操作跟 类型的数据交互有区别,需要定义一个对象表名表单,于是修改代码,主要是测试了一下,讲“command”替换成真正的表单名称,重新运行,没有错误。

总结

其实是自己基础不好的原因,只能靠不停的犯错来成重新认识这些知识,看来要好好学习spring-mvc,有时间也可以看看视屏,更加有利于学习。

参考博客

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ‘user’

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值