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

时间:2014-05-05 17:00:59

标签: primefaces

您好我有一个xhtml(html1),它有一个保存按钮。单击此按钮将呈现Managedbean1的method1。这个方法1,称为ManagedBean2的method2,并且在成功时调出html1。有没有办法在html1中有一个进度条,虽然看到了netbean动作和显示直到html2出现。到目前为止,我看到的所有示例都有一个ui和一个managedbean。

@mareckmareck - 感谢您的回复。这就是我想要做的。 - 请参阅代码摘录。

regbudget.xhtml

<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");
}

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

如您所见,我在regbudget.xhtml中,在RegbudgetBean中调用handleBudgetEvent,它在HourAllocationManagedBean中调用calculateHourAlloc并显示hourAlloc.xhtml。我的要求是在regbudget.xhtml中使用progressbar来显示进度,直到显示houralloc.xhtml。如果您有任何建议,请告诉我。感谢。

0 个答案:

没有答案