Java 绑定嵌套对象不会';行不通
亲爱的朋友们,我有这个麻烦 我在瓦丁建造第一座 我有如下的对象模型Java 绑定嵌套对象不会';行不通,java,user-interface,vaadin,Java,User Interface,Vaadin,亲爱的朋友们,我有这个麻烦 我在瓦丁建造第一座 我有如下的对象模型 public class Utente { private String nome; private String cognome; private Indirizzo indirizzo; public Utente() { // TODO Auto-generated constructor stub indirizzo = new Indirizzo(); } public String getN
public class Utente {
private String nome;
private String cognome;
private Indirizzo indirizzo;
public Utente() {
// TODO Auto-generated constructor stub
indirizzo = new Indirizzo();
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCognome() {
return cognome;
}
public void setCognome(String cognome) {
this.cognome = cognome;
}
public Indirizzo getIndirizzo() {
return indirizzo;
}
public void setIndirizzo(Indirizzo indirizzo) {
this.indirizzo = indirizzo;
}
}
这是我的表格
mainLayout = new FormLayout();
fieldGroup = new FieldGroup();
utente = new Utente();
beanUtente = new BeanItem<Utente>(utente);
TextField nomeField = new TextField("Nome");
mainLayout.addComponent(nomeField);
TextField cognomeField = new TextField("Cognome");
mainLayout.addComponent(cognomeField);
TextField viaField = new TextField("Via");
viaField.setWidth("350px");
mainLayout.addComponent(viaField);
TextField comuneField = new TextField("Comune");
mainLayout.addComponent(comuneField);
TextField provinciaField = new TextField("Provincia");
mainLayout.addComponent(provinciaField);
TextField capField = new TextField("Cap");
mainLayout.addComponent(capField);
button = new Button("Salva Utente");
mainLayout.addComponent(button);
fieldGroup.setItemDataSource(beanUtente);
fieldGroup.bind(nomeField,"nome");
fieldGroup.bind(cognomeField,"cognome");
fieldGroup.bind(viaField, "indirizzo.via");
fieldGroup.bind(comuneField, "indirizzo.comune");
fieldGroup.bind(provinciaField, "indirizzo.provincia");
fieldGroup.bind(capField, "indirizzo.cap");
fieldGroup.setBuffered(false);
mainLayout=newformlayout();
fieldGroup=新的fieldGroup();
utente=新utente();
beanUtente=新的BeanItem(utente);
TextField nomeField=新的TextField(“Nome”);
mainLayout.addComponent(名称字段);
TextField cognomeField=新的TextField(“Cognome”);
mainLayout.addComponent(cognomeField);
TextField viaField=新的TextField(“Via”);
viaField.setWidth(“350px”);
mainLayout.addComponent(维亚菲尔德);
TextField comuneField=新的TextField(“Comune”);
mainLayout.addComponent(ComUnifield);
TextField provinciaField=新TextField(“Provincia”);
mainLayout.addComponent(省域);
TextField capField=新TextField(“Cap”);
mainLayout.addComponent(capField);
按钮=新按钮(“Salva Utente”);
mainLayout.addComponent(按钮);
fieldGroup.setItemDataSource(beanUtente);
fieldGroup.bind(nomeField,“nome”);
bind(cognomeField,“cognome”);
fieldGroup.bind(viaField,“indirizzo.via”);
fieldGroup.bind(comuneField,“indirizzo.comune”);
fieldGroup.bind(provinciaField,“indirizzo.provincia”);
fieldGroup.bind(capField,“indirizzo.cap”);
fieldGroup.setBuffered(假);
现在,当我尝试在模型上绑定组件时,我显示了以下错误:
无法确定“indirizzo.via”的属性类型。找不到具有该id的属性。
我错在哪里?为什么您对
buildAndBind
的“Via”处理方式不同?您已经像上面代码中的其余部分一样处理了它。只是我注意到了一些事情,不确定这是否是故意的。已解决:),我不得不使用BeanFieldGroup而不是FieldGroups请随意写一个好的答案来解释您的更改,并接受它。@PropertyId+FieldGroup+JPA容器不适合我,我必须使用CustomField@JuanRojas打开一个新的问题,你可以更详细地解释你的问题