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