1

(Seam2 ではなく) Seam3 の @DataModel と @DataModelSelection がどこにあるかを見つけることができないようです。それらはどの Seam モジュールで定義されていますか? 名前が変更されている場合、現在の名前は何ですか?

4

3 に答える 3

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;
    }
}
于 2011-08-15T07:01:35.633 に答える
2

@DataModel および @DataModelSelection 機能は Seam3 では利用できません。

于 2011-08-14T12:01:39.473 に答える
0

リッチフェイスを使用する場合は、次の構成を使用できます。

<a:commandLink value="Delete" action="#{bean.delete}">
  <f:setPropertyActionListener value="#{item}" target="#{bean.selectedItem}" />
</a:commandLink>
于 2012-01-03T15:54:33.557 に答える