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

Primefaces 如何在对话框关闭后重新加载页面/刷新页面,primefaces,jsf-2,jsf-2.2,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 yo

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

这是我的密码

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

请提供任何帮助

您应该在标有“是”的按钮上附加一个操作

比如:

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

您必须更改重定向

  public String doCheckin(long checki) {

    CheckoutDb.checkinBook(checki);
    getCheckoutList();

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

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

您在“facesRedirect”中犯了一个错误。首先,您对faces重定向使用了错误的语法,应该是
?faces redirect=true
。您通常会进行AJAX更新,而不是重新加载整个页面。
public String reloadPage() {
    return "checkoutList?faces-redirect=true";
}
  public String doCheckin(long checki) {

    CheckoutDb.checkinBook(checki);
    getCheckoutList();

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

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