2011-11-01 44 views
0

如果我有這樣的和平代碼:我如何填充H:從*的.properties selectItems的動態文件

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

     <f:selectItems value="" /> 

</rich:select> 

和屬性文件,如:

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

的問題是如何利用所有的屬性文件的值,並從他們的ArrayList<SelectItems>例如,所以我可以在下拉列表中使用它們?

+1

屬性文件中的key1 = val1,key2 = val2,key3 = val3,key4 = val4的結構將更容易處理。 – Stefan

回答

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 <支持對象,對象>。但是除非你搞砸了,否則這些演員應該是安全的。

+0

這很好,但我怎麼才能從屬性文件的值傳遞給他們這個方法? – nyxz

+0

閱讀我上面發佈的屬性上的鏈接。 – Stefan