如果我有这种代码的和平:
<rich:select enableManualInput="true" defaultLabel="Select time spent">
<f:selectItems value="" />
</rich:select>
和一个属性文件,如:
key1=val1
key2=val2
key3=val3
key4=val4
问题是如何从属性文件中获取所有值并从中创建ArrayList<SelectItems>
,以便我可以在下拉列表中使用它们?
答案 0 :(得分:0)
如果您可以更改属性文件的布局,我建议将其存储为
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&lt; Object,Object&gt;支持。但除非你搞砸了,演员应该是安全的。