首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >受管Bean的JSF2.0 ArrayList属性

受管Bean的JSF2.0 ArrayList属性
EN

Stack Overflow用户
提问于 2012-06-29 08:23:05
回答 1查看 2.1K关注 0票数 2

我使用的是JSF 2.0 Mojarra。

我需要创建一个包含List类型属性的托管Bean。我需要用Faces-Config.xml中的一些值初始化这个列表。我的问题是,我的类的结构需要看起来像什么才能实现这一点。

例如,

代码语言:javascript
运行
复制
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的正确结构是什么。例如,我应该这样做:

代码语言:javascript
运行
复制
 <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 -->

提前感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-29 08:55:04

您正在将列表项引用为普通字符串。

代码语言:javascript
运行
复制
<value>item1</value>
<value>item2</value>

您需要通过EL引用它们,以便它解析为托管Item实例。

代码语言:javascript
运行
复制
<value>#{item1}</value>
<value>#{item2}</value>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11254661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档