【问题标题】:execute f:setPropertyActionListener when click on button after onclick attribute在 onclick 属性后单击按钮时执行 f:setPropertyActionListener
【发布时间】:2012-08-15 12:47:21
【问题描述】:

在一页中我有一个包含所有用户的数据表,每行包含两个附加列“编辑”和“删除”,问题出在按钮删除上 当用户单击“删除”按钮时,我会向他显示一个带有组件 primefaces 的确认对话框,如果他单击“确定”,我会运行一个从数据库中删除用户的方法 但问题出在按钮上:

 <p:column>
                    <p:commandButton   actionListener="#{utilisateursController.supprimerUser()}" value="Supprimer" onclick="confirmation.show()" type="button" >
                        <f:setPropertyActionListener id="jesusi" value="#{car}" target="#{utilisateursController.u1}" />  
                    </p:commandButton>
                </p:column>            

要删除用户,它必须影响到utilisateursController.u1 但是当我点击这个按钮时,下面的代码

 <f:setPropertyActionListener id="jesusi" value="#{car}" target="#{utilisateursController.u1}" />  

不会被执行

那么,utilisateursController.u1 仍然为空

你有什么想法吗 提前谢谢你

【问题讨论】:

    标签: javascript ajax jsf-2 primefaces


    【解决方案1】:

    它没有执行,因为您添加了type="button"。删除那部分。此外,您应该使用oncomplete 而不是onclick 打开对话框,以便在打开对话框时,所选行已经在utilisateursController.u1 中。这样您就可以在确认对话框中包含属性(如名称)(如果您想这样做,您必须从按钮更新对话框)。

    【讨论】:

    • 谢谢达米安,现在它可以工作了,但是用户并没有从数据表中消失,如果我想让它消失,我必须手动刷新页面,你知道吗,谢谢
    • 这里是managedBean方法的代码 public String supprUser(){ uh.deleteUtilisateur(u1) ;返回“utilisateurs”; }, utilisateurs 是 xhtml 页面
    • 从对话框中执行删除方法的按钮,你必须更新表
    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2018-07-12
    • 2021-06-14
    • 2021-03-13
    • 1970-01-01
    相关资源
    最近更新 更多