こんにちは私はPrimefacesでJSFを使用しています。進行状況(int)とステータス(String)をインジケーターとして、進行状況バーをユーザーに表示したいという長いタスクがあります。2つのパラメーターは、バックエンドBeanの2つのフィールドにマップされます。を使用する<p:poll>
と、次のコードのように両方を更新できます。
<p:progressBar id="progress" ajax="false" value="#{backendBean.progress}" widgetVar="pbAjax"
labelTemplate="{value}%: #{backendBean.statusMessage}" style="width:400px; font-size:12px"/>
<p:poll interval="1" id="poll" autoStart="false" update="progress" widgetVar="pbPoll"/>
ユーザーがボタンを押すと、pbPoll.start()
。これは正常に機能します。今私は2つの質問があります:
(1)最初にプログレスバーを非表示にすることは可能ですか?cssにdisplay:noneを配置して、ボタンがクリックされたときに表示されるようにすることができます。ただし、投票の更新により、進行状況バーが再び非表示になります。多分レンダリングを使用します。もしそうなら、その方法を教えてください。
(2)progressBarにはajax関数自体があるので、ポーリングなしで使用できますか?上記のコードでajax=falseを設定していることに注意してください。彼らのウェブサイトには、「ダイナミックプログレスラベル」が追加されていると書かれています。試しましたが、どういうわけか、ラベル"{value}%"
にはstatusMessageなしでしか表示されません。#{statusMessage}
これは、両方がポーリングで取得されている間、別のフェッチが必要であり、したがって無視されるためであるかどうか疑問に思います。
感謝!