ah:dataTable に ah:commandLink を入れて、単一の行を削除したいと考えています。ここに、機能しないコードがあります。助けていただければ幸いです。このコードは私の delete メソッドを呼び出しません。h:dataTable のデータはデータベースから取得されます。
XHTML
<h:form>
<div class="center">
<h:dataTable id="list" value="#{firstBackingBean.list}"
var="first" styleClass="center">
<!-- other columns (take data from firstBackingBean) -->
<h:column>
<f:facet name="header" />
<h:commandLink value="delete" action="#{secondBackingBean.delete}" >
<f:ajax execute="@form" render="list" />
<f:param name="id" value="#{first.id}"/>
</h:commandLink>
</h:column>
</h:dataTable>
</div>
</h:form>
FirstBackingBean
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
public class FirstBackingBean {
public void delete() {
System.out.println("\nBUTTON CLICKED\n");
}
}
SecondBackingBean
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class SecondBackingBean {
// ...
}