Как динамически заполнить h: selectItems из файлов * .properties - PullRequest
0 голосов
/ 01 ноября 2011

Если у меня есть этот код:

<rich:select enableManualInput="true" defaultLabel="Select time spent">

       <f:selectItems value="" />

</rich:select>

и файл свойств, например:

key1=val1
key2=val2
key3=val3
key4=val4

Вопрос в том, как взять все значения из файла свойств и сделать из них, например, ArrayList<SelectItems>, чтобы я мог использовать их в раскрывающемся списке?

1 Ответ

0 голосов
/ 01 ноября 2011

Если вы можете изменить макет файла свойств, я бы предложил сохранить его как

key1=val1
key2=val2
key3=val3
key4=val4

Учебник по свойствам: http://download.oracle.com/javase/tutorial/essential/environment/properties.html

Api: http://download.oracle.com/javase/6/docs/api/java/util/Properties.html.

public ArrayList<SelectItem> propertiesToSelectItemList(final Properties props)
    {
        final ArrayList<SelectItem> result = new ArrayList<SelectItem>();
        for(Map.Entry<Object, Object> me : props.entrySet())
        {
            result.add(new SelectItem((String)me.getKey(), (String)me.getValue()));
        }
        return result;
    }

К сожалению, свойства поддерживаются Hashtable,Но если вы не возитесь с этим, забросы должны быть безопасными.

...