从JSF中用逗号分隔的inputText字段中取多个值 [英] taking multiple values from inputText field separated by commas in JSF

查看:90
本文介绍了从JSF中用逗号分隔的inputText字段中取多个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am designing an email client system using JSF Framework. The UI should be capable of taking multiple recipient address in the same inputText field each of which is separated by commas(,). How can i achieve this?

推荐答案

根据评论:


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

你可以实现一个< a href =http://docs.oracle.com/javaee/6/api/javax/faces/convert/Converter.html =nofollow> Converter 为此。

You could implement a Converter for this.

@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(",");
    }

}

按如下方式使用:

<h:inputText value="#{bean.addresses}" converter="commaSeparatedFieldConverter" />

with

private String[] addresses;

这篇关于从JSF中用逗号分隔的inputText字段中取多个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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