如果有人能給我一些關於進度條和ajax後端處理的提示,我將不勝感激。後臺處理中的進度條primefaces
爲了澄清什麼,我需要以下是詳細信息:
我有一個命令按鈕,在後端做一些處理。 我想顯示一個進度條,當後臺bean完成處理後端指令時達到100%。 我看了很多線程,但沒有運氣。他們中的大多數沒有展示具體的樣本如何做到這一點。 下面是我的代碼片段:
</h:panelGrid>
<p:commandButton id="btn" value="DoSomeAction"
styleClass="ui-priority-primary" update="panel"
onclick="PF('pbAjax').start();PF('startButton1').disable();"
widgetVar="startButton1"
actionListener="#{actionBean.DoSomeAction}" />
<p:progressBar widgetVar="pbAjax" ajax="true"
value="#{progressBean.progress}" labelTemplate="{value}%"
styleClass="animated">
<p:ajax event="complete" listener="#{progressBean.onComplete}"
update="growl" oncomplete="startButton2.enable()" />
</p:progressBar>
</p:panel>
這是進步了Brean代碼:
@ManagedBean(name="progressBean")
public class ProgressBean implements Serializable {
private Integer progress;
public Integer getProgress() {
if(progress == null)
progress = 0;
else {
progress = progress + (int)(Math.random() * 35);
if(progress > 100)
progress = 100;
}
return progress;
}
public void setProgress(Integer progress) {
this.progress = progress;
}
public void onComplete() {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Progress Completed", "Progress Completed"));
}
public void cancel() {
progress = null;
}
}
這段代碼的結果只是一個空的進度條,並沒有發生,當我點擊我的按鈕。 在此先感謝。
如果有什麼你不明白就問。我不會咬;)。如果您回覆我,並且您希望我看到它,請將&符號加上我的名字(例如@ Andy)。 – Andy