我正在尝试嵌入Primefaces commandLink并从Primefaces dataTable列中的链接调用动作侦听器。这不可能吗? “测试”onclick警报被触发,但它永远不会成为我的bean的方法。
<p:dataTable var="location" value="#{adminBean.locations}">
<p:column headerText="Options">
<p:commandLink value="delete" actionListener="#{admin.deleteLocation}" onclick="alert('test')"/>
</p:column>
</p:dataTable>
bean代码:
public void deleteLocation(ActionEvent e){
//delete logic here...
}
答案 0 :(得分:4)
这是可能的。应该调用您的actionListener。请注意,p:commandButton
默认使用ajax。因此,您应该使用update
属性来定义要更新的组件。
但是,我不知道这是否会影响actionListener。您是否使用action
而不是actionListener
进行了尝试?
以下是我如何运作的示例:
<p:commandLink action="#{spc.selectPatient(item)}"
ajax="false"
value="Open"/>
bean方法如下所示:
public String selectPatient(Patient p) {
// do something
// return some outcome
}