DataModel и DataModelSelection в Seam3 - PullRequest
       32

DataModel и DataModelSelection в Seam3

1 голос
/ 13 августа 2011

Я не могу найти, где находится @DataModel и @DataModelSelection в Seam3 (в отличие от Seam2).В каком модуле Seam они определены?Если их имя было изменено, то что это в настоящее время?

Ответы [ 3 ]

4 голосов
/ 15 августа 2011

Предполагая, что вы используете 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>

и соответствующий управляемый компонент:

@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;
    }
}
2 голосов
/ 14 августа 2011

@ DataModel и функция @DataModelSelection недоступны в Seam3.

0 голосов
/ 03 января 2012

Если вы используете richfaces, вы можете использовать следующую конструкцию:

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