gpt4 book ai didi

richfaces - JSF1.2 - richFaces progressBar - 简单的演示不工作

转载 作者:行者123 更新时间:2023-12-02 03:44:45 27 4
gpt4 key购买 nike

我正在尝试使用 simple demo来自 richfaces progressBar 页面。

当我转到页面时,它呈现开始按钮,按下按钮后进度条显示为 0% - 而不是计数到 100 显示 -1 就是这样- 不算数,什么都没有。
所以这意味着 startTimenull - 但通常它应该有按下按钮的时间。

我也用@AutoCreate 和@Out 尝试了 3 个变量...效果不是很好..

系统正在使用 JSF 1.2 和 Seam。

xhtml 看起来像这样:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">

<h:form>
<a4j:outputPanel id="progressPanel">
<rich:progressBar value="#{progressBarBean.currentValue}"
interval="2000" label="#{progressBarBean.currentValue} %"
enabled="#{progressBarBean.enabled}" minValue="-1" maxValue="100"
reRenderAfterComplete="progressPanel">
<f:facet name="initial">
<br />
<h:outputText value="Process doesn't started yet" />
<a4j:commandButton action="#{progressBarBean.startProcess}"
value="Start Process" reRender="progressPanel"
rendered="#{progressBarBean.buttonRendered}"
style="margin: 9px 0px 5px;" />
</f:facet>
<f:facet name="complete">
<br />
<h:outputText value="Process Done" />
<a4j:commandButton action="#{progressBarBean.startProcess}"
value="Restart Process" reRender="progressPanel"
rendered="#{progressBarBean.buttonRendered}"
style="margin: 9px 0px 5px;" />
</f:facet>
</rich:progressBar>
</a4j:outputPanel>
</h:form>

bean 看起来像这样:

/**
*
*/
package org.richfaces.demo.progressBar;

import java.util.Date;

/**
* @author Ilya Shaikovsky
*
*/
@Name("progressBarBean")
public class ProgressBarBean {

private boolean buttonRendered = true;
private boolean enabled=false;
private Long startTime;

public ProgressBarBean() {
}

public String startProcess() {
setEnabled(true);
setButtonRendered(false);
setStartTime(new Date().getTime());
return null;
}

public Long getCurrentValue(){
if (isEnabled()){
Long current = (new Date().getTime() - startTime)/1000;
if (current>100){
setButtonRendered(true);
}else if (current.equals(0)){
return new Long(1);
}
return (new Date().getTime() - startTime)/1000;
} if (startTime == null) {
return Long.valueOf(-1);
}
else
return Long.valueOf(101);
}

public boolean isEnabled() {
return enabled;
}

public void setEnabled(boolean enabled) {
this.enabled = enabled;
}

public Long getStartTime() {
return startTime;
}

public void setStartTime(Long startTime) {
this.startTime = startTime;
}

public boolean isButtonRendered() {
return buttonRendered;
}

public void setButtonRendered(boolean buttonRendered) {
this.buttonRendered = buttonRendered;
}
}

谢谢!

最佳答案

尝试将 @Scope(ScopeType.SESSION)@Scope(ScopeType.PAGE) 添加到您的 bean 中,看看是否可行。

关于richfaces - JSF1.2 - richFaces progressBar - 简单的演示不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17831294/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com