Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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
Java 如何使用SpringMVC从表单中的组合中获取属性值_Java_Spring_Model View Controller - Fatal编程技术网

Java 如何使用SpringMVC从表单中的组合中获取属性值

Java 如何使用SpringMVC从表单中的组合中获取属性值,java,spring,model-view-controller,Java,Spring,Model View Controller,在Spring中,我们通过名称获取输入的值,但是如果该属性是另一个类的组合,我们如何将该输入链接到该属性?如果是表单,则使用Spring表单标记来构造表单。然后使用Spring的@RequestBody注释将表单属性映射到您的对象 RequestMapping(“/form submit”) Public@RequestBody用户getFormData(){ //spring自动将表单数据映射到您的对象。现在您可以在此处访问用户对象 }在Spring MVC中,您可以使用@ModelAttri

在Spring中,我们通过名称获取输入的值,但是如果该属性是另一个类的组合,我们如何将该输入链接到该属性?

如果是表单,则使用Spring表单标记来构造表单。然后使用Spring的@RequestBody注释将表单属性映射到您的对象

RequestMapping(“/form submit”)
Public@RequestBody用户getFormData(){
//spring自动将表单数据映射到您的对象。现在您可以在此处访问用户对象

}

Spring MVC中,您可以使用
@ModelAttribute
注释在请求处理程序(或与该请求映射的控制器方法)中绑定模型(或您所说的对象)

@PostMapping("/show")
public String submit(@ModelAttribute("user") User user) {
   // process your model
   return "viewName";
}
这里的
@modeldattribute(“user”)
注释提示Spring MVC从可用的请求参数构建一个用户对象,该参数稍后作为用户变量插入

绑定复合模型 绑定复合模型与上面提到的没有什么不同。但是在这种情况下,您的请求参数应该是SpringMVC可以理解的。假设您的
用户
类与
地址
类有关联

public class User {
   private String name;
   private Address address;
   //getter-setter
}

public class Address {
  private String house;
  private String street;
  //getter-setter
}
您需要将
User
绑定为Model属性,然后您的请求参数应该具有如下参数

name: Luiz Felipe
address.house: 10/1
address.street: park avenue

Spring将自动理解该组合关联,并将正确绑定
用户
对象。

您所说的另一个类的组合是什么意思??explain more.ex:public class User{String name;Address a=new Address();}public class Address{String street;}*这只是针对类Address的属性,但针对类User的属性?可能我已经了解了。但你需要更多地描述你的问题。请向我们展示一个场景和到目前为止描述您关注的示例代码。请使用这些场景更新您的问题,您在注释
@RequestBody
中提供的代码用于反序列化请求参数中传递的对象。这涉及到消息转换器。与请求中放置的Json数据类似。而且你把它放错地方了。所以你的答案是误导。