2
我正在使用JSF 2.0 Mojarra。JSF 2.0 ArrayList屬性Managed Bean
我需要創建一個託管Bean,其中包含List類型的屬性。我需要用Faces-Config.xml中的一些值來初始化這個列表。我的問題是,我的班級的結構需要看起來像完成這個。
例如,
public class Items{
private List<Item> itemList = new ArrayList<>();
public List<Item> getItemList(){
return itemList;
}
public void setItemList (List<Item> itemList){
this.itemList = itemList;
}
//Methods needed for adding and removing type Item elements to/from itemList.
//What is the convention, so that JSF can initialize these values?
public class Item{
//This is a nested class
private String itemProperty1;
private String itemProperty2;
//Getters and Setters for itemProperty1 and itemProperty2 have been omitted
//for brevity.
}
}
而且,一旦我有我的類別設置正確。什麼是Faces-Config.xml的正確結構。例如,我應該這樣做:
<managed-bean>
<managed-bean-name>items</managed-bean-name>
<managed-bean-class>com.bricks.model.Items</managed-bean-class>
<managed-bean-scope>Application</managed-bean-scope>
<managed-property>
<property-name>itemList</property-name>
<value-class>com.brick.model.Items.Item</value-class>
<list-entries>
<value>item1</value>
<value>item2</value>
</list-entries>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>item1</managed-bean-name>
<managed-bean-class>com.bricks.model.Item</managed-bean-class>
<managed-bean-scope>None</managed-bean-scope>
<managed-property>
<property-name>itemProperty1</property-name>
<value>value1</value>
</managed-property>
<managed-property>
<property-name>itemProperty2</property-name>
<value>value2</value>
</managed-property>
</managed-bean>
<!--Repeat for item2 -->
在此先感謝您的幫助。
嘿@BalusC,非常感謝。我認爲Faces-Config是正確的。這個類的結構如何?我如何正確設置它,以便JSF可以初始化所有內容? – bricks