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