Java springmvc和Checkbox
我读了很多帖子,但没有找到解决办法 我有一个对象名为utete Utente有一个名为autorizzazioniListaJava 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; ...
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将其相对字段Utene和Autorizzazione设置为null,因此我无法将它们保存在数据库中
对象Autorizzazioni唯一不为空的字段是id,因为在标记
内,我将对象Autorizzazioni的id设置为itemValue
注意:当然,我使用一个扩展了属性编辑器支持
的类来处理标记
内的对象Autorizzazioni
因此,我的最后一个问题是:在控制器检索对象Utene(提交表单后调用的对象)之前,是否有方法操纵对象的字段Autorizzazioni
在控制器内部(提交表单后调用的控制器),我使用了
@Valid-ute
,因此对象ute的字段必须没有错误。如果您只是尝试预处理模型属性,请查看HandlerInterceptorAdapter。您还可以跳过@Valid注释,在受控对象中处理对象,然后自己验证它。谢谢@GeorgyGobozov。我扩展了HandlerInterceptorAdapter;现在我想我可以从方法prehandle()的参数“object”中检索我的对象“utete”,但我不知道如何检索。