如何在对话框关闭后重新加载页面/刷新页面

时间:2017-05-04 17:20:57

标签: primefaces jsf-2 jsf-2.2

单击对话框中的“是”按钮后,我在重新加载页面时出现问题。当我单击是按钮(确认,因此可以删除该项目)后,我希望页面刷新/重新加载,以便我可以看到我当前的项目。

这是我的代码

<p:commandButton id="checkin" action="#{checkoutListBean.doCheckin(c.checkoutNumber)}"
   value="Checkin" >
<p:confirm header="Confirmation" message="Are you sure you delete this?" 
   icon="ui-icon-alert" />
</p:commandButton>
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
<p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" 
   icon="ui-icon-check" />
<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" 
 icon="ui-icon-close" />
</p:confirmDialog>

这是我点击按钮时调用的java方法

public String doCheckin(long checki) {

    CheckoutDb.checkinBook(checki);
    getCheckoutList();

    return "checkoutList?facesRedirect=true";
}

public List getCheckoutList() {
    return checkoutList = CheckoutDb.selectCheckedOutBooks();
}

请帮助

2 个答案:

答案 0 :(得分:0)

您应该在标有&#34;是&#34;。

的按钮上添加操作

类似的东西:

<p:commandButton action="#{checkoutListBean.reloadPage()}" value="Yes" type="button" styleClass="ui-confirmdialog-yes" 
   icon="ui-icon-check" />

然后在豆子里:

public String reloadPage() {
    return "checkoutList?faces-redirect=true";
}

答案 1 :(得分:0)

您必须更改重定向

  public String doCheckin(long checki) {

    CheckoutDb.checkinBook(checki);
    getCheckoutList();

    return "checkoutList?faces-redirect=true";
}

public List getCheckoutList() {
    return checkoutList = CheckoutDb.selectCheckedOutBooks();
}