Java 如何使用接口对象列表自动增长Spring@ModelAttribute命令类
我正在尝试绑定一个Java 如何使用接口对象列表自动增长Spring@ModelAttribute命令类,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在尝试绑定一个命令类,该类包含对象列表,这些对象在Spring(Boot 1.4.4.RELEASE)中实现接口 命令类 @Data @AllArgsConstructor public class CarInternetContentEditFormCommand implements EditFormCommand { @Valid @NotEmpty @JsonDeserialize(contentAs = CarInternetContentForm.cl
命令
类,该类包含对象列表
,这些对象在Spring(Boot 1.4.4.RELEASE)
中实现接口
- 命令类
因此,Spring尝试自动增加列表并实例化@Data @AllArgsConstructor public class CarInternetContentEditFormCommand implements EditFormCommand { @Valid @NotEmpty @JsonDeserialize(contentAs = CarInternetContentForm.class) private List<EditForm> editForms; public CarInternetContentEditFormCommand() { this.editForms = new ArrayList<>(); } public EditForm getEditForm() { if (this.editForms.isEmpty()) { return new CarInternetContentForm(); } return this.editForms.get(0); } @Override public void setEditForm(EditForm form) { if (this.editForms.isEmpty()) { this.editForms = new ArrayList<>(); } this.editForms.add(form); } }
对象,这显然是一个接口,它不知道如何实现EditCommand
有没有办法告诉Spring如何做到这一点?我已尝试为命令类注册
,但它从未被调用。如果将editForms声明为ArrayList editForms,会发生什么;不管是谁在抱怨,都不喜欢接口,所以你需要传递一个具体的类。是的,我知道,Spring抱怨它不能实例化属性编辑器
的EditForm
列表,因为它是一个接口,但我有其他
类,它们有一个命令
对象,通过使用“Jackson”的注释EditForm
它可以实例化它,问题在于集合,我希望有一种方法告诉Spring如何实例化它们@JsonDeserialize(as=ConcreteEditCommand.class)
<@spring.formInput "CICEFC.editForms[0].link", "class=form-control", "text"/>