我正在尝试嵌入Primefaces commandLink,并从Primefaces dataTable列内的链接调用操作侦听器。 这不可能吗? "测试"点击警报被触发,但它永远不会进入我的 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>
豆代码:
public void deleteLocation(ActionEvent e){
//delete logic here...
}
这是
可能的。应该调用你的 actionListener。请记住,p:commandButton
默认使用 ajax。因此,您应该使用 update
属性来定义要更新的组件。
但是,我不知道这是否会影响动作侦听器。您是否尝试过action
而不是actionListener
?
这是我如何让它工作的示例:
<p:commandLink action="#{spc.selectPatient(item)}"
ajax="false"
value="Open"/>
Bean 方法如下所示:
public String selectPatient(Patient p) {
// do something
// return some outcome
}