Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms ThymileAF-如何将对象(带子对象)从窗体发送回控制器_Forms_Spring Boot_Thymeleaf - Fatal编程技术网

Forms ThymileAF-如何将对象(带子对象)从窗体发送回控制器

Forms ThymileAF-如何将对象(带子对象)从窗体发送回控制器,forms,spring-boot,thymeleaf,Forms,Spring Boot,Thymeleaf,我正在尝试将一个“复杂”对象从thymeleaf表单“发送”回控制器。 我发现了这个最小的示例(),它基本上做了相同的事情(工作非常完美)。唯一的区别是,它们的对象具有字符串属性,而不是其他对象 但是,一旦我用bar对象替换String属性,在提交表单时,bar对象总是空的。 提交嵌套对象是否可行 物体 公共类Foo{ 私人酒吧; 公共酒吧{ 返回杆; } 公共空间立根杆(杆){ 这个.bar=bar; } } 公共类酒吧{ 私有字符串id; 公共栏(字符串id){ this.id=id; }

我正在尝试将一个“复杂”对象从thymeleaf表单“发送”回控制器。 我发现了这个最小的示例(),它基本上做了相同的事情(工作非常完美)。唯一的区别是,它们的对象具有字符串属性,而不是其他对象

但是,一旦我用bar对象替换String属性,在提交表单时,bar对象总是空的。 提交嵌套对象是否可行

物体

公共类Foo{
私人酒吧;
公共酒吧{
返回杆;
}
公共空间立根杆(杆){
这个.bar=bar;
}
}
公共类酒吧{
私有字符串id;
公共栏(字符串id){
this.id=id;
}
公共字符串getId(){
返回id;
}
公共无效集合id(字符串id){
this.id=id;
}
}
控制器

@RequestMapping(value=“/showForm”,method=RequestMethod.GET)
公共字符串显示窗体(模型){
Foo-Foo=新的Foo();
foo.立根杆(新杆(“测试”));
model.addAttribute(“foo”,foo);
返回页面。测试;
}
@RequestMapping(value=“/processForm”,method=RequestMethod.POST)
公共字符串processForm(@modeldattribute(value=“foo”)foo-foo){
...
返回页面。测试;
}
HTML


您必须将输入文本绑定到
bar
对象的
id
字段


bar对象中id字段缺少绑定是一个问题。另一个是Bar.class中的构造函数。绑定'id'后导致此异常:
NullValueInTestedPathException:bean类[Foo]的属性'bar'无效:无法实例化属性类型[bar]以自动增长嵌套属性路径;嵌套异常为java.lang.NoSuchMethodException:Bar。()
在向其工作的Bar.class添加默认构造函数后。