selectManyMenu转换器与selectOneMenu转换器 [英] selectManyMenu converter vs selectOneMenu converter
本文介绍了selectManyMenu转换器与selectOneMenu转换器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在selectOneMenu中列出了一个相册实体的转换器,如果有的话,将其与selectManyMenu一起使用需要进行哪些修改?
I have a converter for Album entity listed in selectOneMenu, what modifications are needed to use it with selectManyMenu if there is?
非常感谢与selectManyMenu一起使用的转换器的工作示例.
A working example of converter to use with selectManyMenu is greatly appreciated.
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() : "";
}
}
推荐答案
无需更改.转换器是按项目应用的,而不是按列表/数组的应用.
There are no changes needed. The converter is applied on a per-item basis, not on a per-list/array basis.
这篇关于selectManyMenu转换器与selectOneMenu转换器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文