Sea M3中的数据模型和数据模型选择

时间:2011-08-13 08:50:29

标签: seam seam2 seam3

我似乎无法找到Seam3中的@DataModel和@DataModelSelection(与Seam2相对)。他们定义了什么样的Seam模块?如果他们的名字已被更改,那么它目前是什么?

3 个答案:

答案 0 :(得分:4)

假设您正在使用JSF2.0,您可以将选择“注入”到这样的操作方法:

<h:dataTable value="#{itemManager.itemList}" var="item">
   <h:column>
      <f:facet name="header">Item Id</f:facet>
      #{item.id}
   </h:column>
   <h:column>
      <f:facet name="header">Item Name</f:facet>
      #{item.name}
   </h:column>
   <h:column>
      <f:facet name="header">Action</f:facet>
      <h:commandLink value="Delete" action="#{itemManager.delete(item)}" />
   </h:column>
</h:dataTable>

和相应的托管bean:

@ManagedBean(name="itemManager")
@SessionScoped
public class ItemManager {
    ArrayList<Item> itemList;

    public ArrayList<Item> getItemList() {
        if (itemList == null) {
            itemList = ... // build item list
        }
        return itemList;
    }

    public String delete(Item item) {
        itemList.remove(item);
        return null;
    }
}

答案 1 :(得分:2)

@ Seam3中没有@DataModel和@DataModelSelection功能。

答案 2 :(得分:0)

我使用richfaces,你可以使用以下结构:

<a:commandLink value="Delete" action="#{bean.delete}">
  <f:setPropertyActionListener value="#{item}" target="#{bean.selectedItem}" />
</a:commandLink>