読者です 読者をやめる 読者になる 読者になる

なぐりがき

SalesforceからときどきIdol



Salesforce: apex:actionPollerの話 ※修正しました。

Salesforce

今日も早くから太陽が出てますね。
大人しく閉じこもっていたいと思います(…)
夏は生きてくのが厳しいです。まあ冬も生きてくのは厳しいです、もちろん。

今日もセールスフォースの話です。



Ajaxはあまり詳しくないので、使う度に書き留めておこうと思う。

apex:actionPollerについて

https://developer.salesforce.com/docs/atlas.ja-jp.202.0.pages.meta/pages/pages_compref_actionPoller.htm

指定した間隔に従って AJAX 要求をサーバに送信するタイマーです。各要求により、ページの全体または一部を更新できます。


<apex:actionPoller action="{!incrementCounter}" reRender="counter" interval="15"/>

↑書き方はこんな感じです。
こんな感じと書きながら表示できてなかった(…)修正しました。
「action」で実行したいメソッドを指定。
「reRender」actionによって表示を変更したい箇所。
「interval」は更新される間隔。5〜指定可能。





apex:actionPollerを使用してやろうとしたこと

コンポーネントにした1つのページを何回か表示します。
各ページで経過時間を表示しておき、全ページ閲覧後に経過時間をオブジェクトに登録しようと思いました。

intervalが5からなので、actionが実行されて経過時間が変化しても違和感がないように分まで表示してみました。
一応できました。

ただやっぱり分まで表示だと進んでいる感じがあまりしなくて、機能としてはうまくできてる感じがしなかったので却下。
intervalを最小の5にして秒までの表示に変えてみたりもしましたが、突然時間が変化した感じがしたのでこれも却下です。

Apexだと難しいのかなぁ。まだわかりません!JavaScriptでも検討してみようと思います。

actionPollerがわかったので、これはこれでよしです。ポジティブチューニング