从JSF中用逗号分隔的inputText字段中取多个值

我正在使用JSF Framework设计一个电子邮件客户端系统。 UI应该能够在相同的inputText字段中获取多个收件人地址,每个字段用逗号(,)分隔。 我怎样才能做到这一点?

根据评论:

我可以将inputText字段的value属性分配给数组吗?

你可以为此实现一个Converter

 @FacesConverter("commaSeparatedFieldConverter") public class CommaSeparatedFieldConverter implements Converter { @Override public String getAsString(FacesContext context, UIComponent component, Object value) { if (value == null) { return null; } String[] strings = (String[]) value; StringBuilder builder = new StringBuilder(); for (String string : strings) { if (builder.length() > 0) { builder.append(","); } builder.append(string); } return builder.toString(); } @Override public Object getAsObject(FacesContext context, UIComponent component, String value) { if (value == null) { return null; } return value.split(","); } } 

使用方法如下:

  

 private String[] addresses;