Java 如何使用thymeleaf设置对象字段
我的学生班级有“对象”列表Java 如何使用thymeleaf设置对象字段,java,spring,spring-mvc,thymeleaf,Java,Spring,Spring Mvc,Thymeleaf,我的学生班级有“对象”列表 public class Student { private List<Objects> list; ... } public class Objects { private long id; private String context; ... } 公立班学生{ 私人名单; ... } 公共类对象{ 私人长id; 私有字符串上下文; ... } @GetMapping(“注册”) 公共字符串showS
public class Student {
private List<Objects> list;
...
}
public class Objects {
private long id;
private String context;
...
}
公立班学生{
私人名单;
...
}
公共类对象{
私人长id;
私有字符串上下文;
...
}
@GetMapping(“注册”)
公共字符串showSignUpForm(模型){
List objectsList=新建ArrayList();
添加(新对象(1,“数学”);
添加(新对象(2,“物理”);
添加(新对象(3,“化学”);
添加(新对象(4,“Geom”);
addAttribute(“对象”,objectsList);
model.addAttribute(“学生”,new student());
返回“添加学生”;
}
@后映射(“添加”)
公共字符串addStudent(Student-Student、BindingResult-result、Model-Model){
if(result.hasErrors()){
返回“添加学生”;
}
返回“重定向:列表”;
}
因此,我想将选定对象添加到student.list,但出现以下错误:
无法将类型为“java.lang.String[]”的属性值转换为属性“List”所需的类型“java.util.List”;嵌套异常为java.lang.IllegalStateException:无法将“java.lang.String”类型的值转换为属性“list[0]”的必需类型“example.Objects”:找不到匹配的编辑器或转换策略
如何正确操作?首先,如果你想使用列表,你必须按索引操作。所以,如果你想绑定一个列表,你必须像下面这样做
@GetMapping("signup")
public String showSignUpForm(Model model) {
List<Objects> objectsList = new ArrayList<>();
objectsList.add(new Objects(1, "Math"));
objectsList.add(new Objects(2, "Phys"));
objectsList.add(new Objects(3, "Chem"));
objectsList.add(new Objects(4, "Geom"));
List<Objects> emptyList = new ArrayList<>();
Student student = new Student();
student.addList(emptyList);
model.addAttribute("objects", objectsList);
model.addAttribute("student", student);
return "add-student";
}
@GetMapping(“注册”)
公共字符串showSignUpForm(模型){
List objectsList=新建ArrayList();
添加(新对象(1,“数学”);
添加(新对象(2,“物理”);
添加(新对象(3,“化学”);
添加(新对象(4,“Geom”);
List emptyList=new ArrayList();
学生=新生();
student.addList(清空列表);
addAttribute(“对象”,objectsList);
model.addAttribute(“学生”,学生);
返回“添加学生”;
}
首先,如果你想使用列表,你必须按索引进行操作。所以,如果你想绑定一个列表,你必须像下面这样做
@GetMapping("signup")
public String showSignUpForm(Model model) {
List<Objects> objectsList = new ArrayList<>();
objectsList.add(new Objects(1, "Math"));
objectsList.add(new Objects(2, "Phys"));
objectsList.add(new Objects(3, "Chem"));
objectsList.add(new Objects(4, "Geom"));
List<Objects> emptyList = new ArrayList<>();
Student student = new Student();
student.addList(emptyList);
model.addAttribute("objects", objectsList);
model.addAttribute("student", student);
return "add-student";
}
@GetMapping(“注册”)
公共字符串showSignUpForm(模型){
List objectsList=新建ArrayList();
添加(新对象(1,“数学”);
添加(新对象(2,“物理”);
添加(新对象(3,“化学”);
添加(新对象(4,“Geom”);
List emptyList=new ArrayList();
学生=新生();
student.addList(清空列表);
addAttribute(“对象”,objectsList);
model.addAttribute(“学生”,学生);
返回“添加学生”;
}
@GetMapping("signup")
public String showSignUpForm(Model model) {
List<Objects> objectsList = new ArrayList<>();
objectsList.add(new Objects(1, "Math"));
objectsList.add(new Objects(2, "Phys"));
objectsList.add(new Objects(3, "Chem"));
objectsList.add(new Objects(4, "Geom"));
List<Objects> emptyList = new ArrayList<>();
Student student = new Student();
student.addList(emptyList);
model.addAttribute("objects", objectsList);
model.addAttribute("student", student);
return "add-student";
}