我们有一个基于 JEE6(JSF 2/EJB 3/Jboss 7)构建的 Web 应用程序。
我们需要在我们的应用程序中显示如下所示的进度条。我们可以使用哪个框架?有没有办法在 Primefaces 中做这件事?
我们有一个基于 JEE6(JSF 2/EJB 3/Jboss 7)构建的 Web 应用程序。
我们需要在我们的应用程序中显示如下所示的进度条。我们可以使用哪个框架?有没有办法在 Primefaces 中做这件事?
使用<p:progressBar/>
PrimeFaces。他们在展示中提供了客户端、ajax 和静态版本的示例。
ajax 版本归结为在某个操作上启动进度条(示例中的命令按钮单击)。达到 100% 时它将自动停止(如果需要,将触发 ajax 事件,请参阅文档)
展示的相关 xhtml 和 bean 部分(几乎)逐字复制
xhtml
<p:progressBar widgetVar="pbAjax" ajax="true" value="#{progressBarView.progress}" labelTemplate="{value}%" styleClass="animated" global="false">
<p:ajax event="complete" listener="#{progressBarView.onComplete}" update="growl" oncomplete="PF('startButton2').enable()"/>
</p:progressBar>
豆
@Named
@ViewScoped
public class ProgressBarView 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("Progress Completed"));
}
}
在 PF 展示的示例中,您也可以取消它,但取消真正的服务器端操作超出了此处的范围,因此我将其删除: