带有嵌入式命令链接的 Primefaces 数据表

发布于 2024-11-07 01:47:15 字数 532 浏览 2 评论 0原文

我正在尝试嵌入 Primefaces commandLink 并从 Primefaces 数据表列内的链接调用操作侦听器。这不可能吗? “测试”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>

豆代码:

public void deleteLocation(ActionEvent e){
   //delete logic here...
}

I'm trying to embed a Primefaces commandLink and call an action listener from a link inside a column of a Primefaces dataTable. Is this not possible? The "Test" onclick alert gets fired but it never makes it to my bean's method.

<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 code:

public void deleteLocation(ActionEvent e){
   //delete logic here...
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

同展鸳鸯锦 2024-11-14 01:47:15

这是可能的。应该调用您的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
 }

This is possible. Your actionListener should be called. Keep in mind that the p:commandButton uses ajax by default. So you should use the update attribute in order to define the components to be updated.

However, I don't know if this affects the actionListener. Did you try it with action instead of actionListener?

Here is an example how I got it working:

<p:commandLink action="#{spc.selectPatient(item)}"
               ajax="false"
               value="Open"/>

The bean method looks as follows:

 public String selectPatient(Patient p) {
    // do something
    // return some outcome
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文