Java springmvc和Checkbox

Java springmvc和Checkbox,java,spring-mvc,checkbox,data-binding,databinder,Java,Spring Mvc,Checkbox,Data Binding,Databinder,我读了很多帖子,但没有找到解决办法 我有一个对象名为utete Utente有一个名为autorizzazioniLista public class Utente{ ... @OneToMany(mappedBy = "utente", fetch = FetchType.EAGER) @Cascade(CascadeType.ALL) private List<Autorizzazioni> autorizzazioniLista; ...

我读了很多帖子,但没有找到解决办法

我有一个对象名为utete

Utente有一个名为autorizzazioniLista

public class Utente{
    ...
    @OneToMany(mappedBy = "utente", fetch = FetchType.EAGER)
    @Cascade(CascadeType.ALL)
    private List<Autorizzazioni> autorizzazioniLista;
    ...
}
这是Autorizzazione

public class Autorizzazioni {
    ...
    @Id
    @GeneratedValue
    @Column(name = "id")
    private int id; 

    @ManyToOne(targetEntity = Utente.class, fetch = FetchType.EAGER)    
    private Utente utente;

    @ManyToOne(targetEntity = Autorizzazione.class, fetch = FetchType.EAGER)
    private Autorizzazione autorizzazione;
    ...
}
public class Autorizzazione{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="id", nullable=false, updatable=false)
    private int id;     

    @Column(name = "descrizione")
    private String descrizione;
}
我有一个表单,其modelAttribute为utete。在此表单中,字段autorizzazioniLista的对象Autorizzazioni必须显示为复选框;这是我的问题

这是显示复选框的jsp页面:

  <form:checkboxes
          items="${utente.autorizzazioniLista}"
          path="autorizzazioniLista"
          itemValue="id" delimiter="<br><br>"
          itemLabel="autorizzazione.descrizione" />

当我提交表单并检索控制器中的对象Utene时,字段autorizzazioniLista中的对象Autorizzazioni将其相对字段UteneAutorizzazione设置为null,因此我无法将它们保存在数据库中

对象Autorizzazioni唯一不为空的字段是id,因为在标记
内,我将对象Autorizzazioniid设置为
itemValue

注意:当然,我使用一个扩展了
属性编辑器支持
的类来处理标记
内的对象Autorizzazioni

因此,我的最后一个问题是:在控制器检索对象Utene(提交表单后调用的对象)之前,是否有方法操纵对象的字段Autorizzazioni


在控制器内部(提交表单后调用的控制器),我使用了
@Valid-ute
,因此对象ute的字段必须没有错误。

如果您只是尝试预处理模型属性,请查看HandlerInterceptorAdapter。您还可以跳过@Valid注释,在受控对象中处理对象,然后自己验证它。谢谢@GeorgyGobozov。我扩展了HandlerInterceptorAdapter;现在我想我可以从方法prehandle()的参数“object”中检索我的对象“utete”,但我不知道如何检索。