从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;