hola
estoy haciendo un pequeño ejercicio en j2ee con el framework ZK y tengo un problema a la hora de seleccionar un elemento, tengo el siguiente código:
Código zk:
Ver original<?page title="Administradores"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit"?>
<zk>
<window id="win" title="CD'S DISPONIBLES" border="none" apply="practicaDSController.CDController">
<listbox model="@{win$composer.allCDs}" selectedItem="@{win$composer.currentCD.titulo }">
<listhead>
<listheader label="Título" sort="auto" />
</listhead>
<listitem self="@{each='cd'}">
<listcell label="@{cd.titulo}" />
</listitem>
</listbox>
<groupbox>
<caption label="carrito de compra"/>
Título: <textbox value="@{win$composer.currentCD.titulo}"/>
<button id="buyButton" label="BUY" />
</groupbox>
</window>
</zk>
en teoría todo esta bien y tal como tengo puesto selectedItem debería de cogerme el ítem seleccionado pero cuando pincho sobre uno me da este error.
java.lang.NoSuchMethodException: cds.CD: no method called titulo for [class cds.CD]
la verdad no se xq me da este error os pongo también el código del controller que utilizo
Código java:
Ver originalpublic class CDController extends GenericForwardComposer {
private static final long serialVersionUID = 1L;
Vbox altaCDbox;
Vbox bajaModCDbox;
Vbox pistasbox;
private CD currentCD = new CD();
private CDDAO dao = new CDDAO();
public void setCurrentArtista(CD currentCD) {
this.currentCD = currentCD;
}
public CD getCurrentCD() {
return currentCD;
}
public List<CD> getAllCDs(){
System.
out.
println(dao.
findAll()); return dao.findAll();
}
y el de la entidad cd
Código java:
Ver originalpackage cds;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import pistas.Pista;
import artistas.Artista;
public class CD {
private Artista art;
private Set<Pista> listaPista;
@Id
@GeneratedValue
return id;
}
public void setId
(Long id
) { this.id = id;
}
return titulo;
}
public void setTitulo
(String titulo
) { this.titulo = titulo;
}
@ManyToOne
public Artista getArt() {
return art;
}
public void setArt(Artista art) {
this.art = art;
}
@OneToMany(targetEntity=Pista.class, fetch = FetchType.EAGER, mappedBy = "cd", cascade=javax.persistence.CascadeType.ALL)
public Set<Pista> getListaPista() {
return listaPista;
}
private void setListaPista(Set<Pista> listaPista) {
this.listaPista = listaPista;
}
public void addPista (Pista pista){
this.listaPista.add(pista);
/*if (pista.getCD() != this){
pista.setCD(this);
}*/
}
}
gracias por la posibles respuestas