Ano mám Converter vypadá následovně.
public Object getAsObject(FacesContext facesContext, UIComponent
uIComponent, String string) {
if (string == null) {
return null;
}
Integer id = new Integer(string);
ImageController controller = (ImageController)
facesContext.getApplication().getVariableResolver().resolveVariable(facesContext,"image");
return controller.findImage(id);
}
public String getAsString(FacesContext facesContext, UIComponent
uIComponent, Object object) {
if (object == null) {
return null;
}
if(object instanceof Image) {
Image o = (Image) object;
return "" + o.getId();
}
if (object instanceof String){
return (String)object;
}
else {
throw new IllegalArgumentException("object:" + object + " of
type:" + object.getClass().getName() + "; expected type:
cz.finalsro.web.pojo.Image");
}
}
Martin
Dne Wed, 27 Sep 2006 19:24:02 +0200 Richard Malaschitz
<[EMAIL PROTECTED]> napsal/-a:
Pre objekt Image mate urobeny Converter ?
2006/9/27, Martin Chalupa <[EMAIL PROTECTED]>:
Mám problém s komponentou selectManyListbox kdy dostanu při každém
uložení
formuláře vallidation error.
new.jsp
...
<t:selectManyListbox id="images" value="#{reference.reference.images}"
title="Obrázky" size="4" required="true">
<f:selectItems value="#{reference.imagesIds}"/>
</t:selectManyListbox>
...
v managed beane pak mám
public javax.faces.model.SelectItem[] getImagesIds() {
List<Image> l = imageDao.getAll();
SelectItem select[] = new SelectItem[l.size()];
int i = 0;
for(Image x : l) {
select[i++] = new SelectItem(x,x.getName());
}
return select;
}
reference.reference.images je
List<Image> images;
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE,
CascadeType.REFRESH})
public List<Image> getImages() {
return images;
}
public void setImages(List<Image> images) {
this.images = images;
}
Image je
@Entity
public class Image implements Serializable {
private Integer id;
private String name;
private String contentType;
private byte[] image;
private Reference reference;
...
}
Nemate nekdo nejakou radu na reseni?
Martin