我有一个selectOneMenu中列出的Album实体的转换器,如果有的话,需要对selectManyMenu使用哪些修改?
非常感谢与selectManyMenu一起使用的转换器的工作示例。
SelectOneMenu转换器
package converter;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
import javax.persistence.EntityManager;
import entities.Album;
import util.EntityUtil;
@FacesConverter("albumconverter")
public class AlbumConverter implements Converter {
EntityManager em = EntityUtil.getEntityManager();
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
Album album = em.find(
Album.class,
Long.parseLong(value));
return album;
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value instanceof Album ?
((Album) value).getAlbumId().toString() : "";
}
}
答案 0 :(得分:1)
无需更改。转换器是基于每个项目应用的,而不是基于每个列表/阵列。