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



Odpovedet emailem