selectManyMenu转换器与selectOneMenu转换器 [英] selectManyMenu converter vs selectOneMenu converter

查看:135
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆