progressbar-primefaces3.5具有两个不同的托管bean

progressbar-primefaces3.5具有两个不同的托管bean,primefaces,Primefaces,嗨,我有一个xhtml(html1),它有一个保存按钮。单击此按钮将呈现Managedbean1的method1。这种方法1在内部称为ManagedBean2的方法2,一旦成功,就会产生html1。有没有办法在html1中使用progressbar并查看managedbean操作和显示,直到出现html2。到目前为止,我看到的所有示例都有一个ui和一个managedbean @谢谢你的回复。这就是我想做的请参阅代码摘录 regbudget.xhtml /> ==================

嗨,我有一个xhtml(html1),它有一个保存按钮。单击此按钮将呈现Managedbean1的method1。这种方法1在内部称为ManagedBean2的方法2,一旦成功,就会产生html1。有没有办法在html1中使用progressbar并查看managedbean操作和显示,直到出现html2。到目前为止,我看到的所有示例都有一个ui和一个managedbean

@谢谢你的回复。这就是我想做的请参阅代码摘录

regbudget.xhtml

/>
=======================
RegbudgetBean(//regbudgetmgmb)
------------------------------  
公共无效handleBudgetEvent(AjaxBehaviorEvent evt){
//更多代码-代码在这里--
试一试{
HourAllocationManagedBean hbean=getCurrentInstanceOfHourAlloc();
hbean.calculateHourAlloc();
}
===============================
HourAllocationManagedBean
公共void calculateHourAlloc(){
if(logger.isDebugEnabled()){
debug(“HourAllocationManagedBean:calculateHourAlloc”);
}
//这里有更多代码---
试一试{
FacesContext.getCurrentInstance().getExternalContext().redirect(“/pages/budget/hourAlloc.xhtml”);
}
====================================================


如您所见,我在regbudget.xhtml中,调用RegbudgetBean中的handleBudgetEvent,它在HourAllocationManagedBean中调用calculateHourAlloc并显示hourAlloc.xhtml。我的要求是在regbudget.xhtml中显示进度栏,直到显示hourAlloc.xhtml。您是否有任何问题建议。谢谢。

显示您的代码片段以及您目前拥有的内容。我不确定您所说的“操作”是什么意思,如果您使用ajax,您可以轻松保留progressbar。@mareckmareck-谢谢。我刚刚用代码摘录更新了这个问题。您能看一下吗?。感谢您的帮助。
FacesContext.getCurrentInstance().getExternalContext().redirect(“/pages/budget/hourAlloc.xhtml”);
重新加载整个页面。要保留进度条,需要将其状态保存在某个位置(数据库、cookie、会话等)然后在同一位置再次渲染,但在重新加载前完成时开始进行渲染。@mareckmareck.非常感谢您的想法。我不知道如何实现它,但我会尽我所能找出方法。
<div id="actionButtonBarNew">
<p:panel styleClass="buttonPanelNew" >
<p:commandButton id="saveBudget" value="Save Budget" type="button" onclick="pbAjax.start();startButton1.disable();" widgetVar="startButton1" />
<p:progressBar widgetVar="pbAjax" value="#{regbudgetMgmtMB.handleBudgetEvent}" ajax="true" labelTemplate="{value}%">
<p:ajax event="complete" listener="#{progressBean.onComplete}"
update="growl" oncomplete="startButton1.enable()"  render="@form"  update="messages,fcotcol" /> />
</p:progressBar>
</p:panel>
</div>
=======================

RegbudgetBean (//regbudgetMgmtMB)
------------------------------  

public void handleBudgetEvent(AjaxBehaviorEvent evt){
// more codee--- code here --
try {
HourAllocationManagedBean hbean = getCurrentInstanceOfHourAlloc();
hbean.calculateHourAlloc();
}

===============================

HourAllocationManagedBean

public void calculateHourAlloc() {
if(logger.isDebugEnabled()){
logger.debug("HourAllocationManagedBean: calculateHourAlloc");
}

//more code here---
try{
FacesContext.getCurrentInstance().getExternalContext().redirect("/pages/budget/hourAlloc.xhtml");
}