【Salesforce 認定Platformデベロッパー】試験対策:第127問

問題

Universal Containers社には、特定のアカウントによってレンタルされているすべてのContainer__cのテーブルを表示するVisualforceページがあります。一部の顧客が100,000を超えるコンテナをレンタルしているため、ビューステートの最大制限エラーとなります。ページの読み込みエラーを解決するために、開発者はVisualforceページについて何を変更する必要がありますか。

  • SOQLのOFFSETでJavaScript Remotingを使用します
  • StandardSetControllerを使用してページネーションを実装します
  • 遅延読み込みと一時的なリスト変数を使用します
  • OffsetControllerを使用してページネーションを実装します

正解

  • SOQLのOFFSETでJavaScript Remotingを使用します
  • StandardSetControllerを使用してページネーションを実装します
  • 遅延読み込みと一時的なリスト変数を使用します
  • OffsetControllerを使用してページネーションを実装します

解説

ビューステートの最大制限エラーは、Visualforceページがサーバーとの間でやり取りする状態情報(ビューステート)が大きすぎる場合に発生します。これを解決するには、ビューステートのサイズを減らす必要があります。以下の解説では、提案された各オプションについて評価します。

それぞれの選択肢の理由について説明します。

□ SOQLのOFFSETでJavaScript Remotingを使用します
これは不正解です。JavaScript Remotingはクライアント側での非同期データ取得に使用され、ビューステートのサイズを減らすのに役立ちますが、SOQLのOFFSET句には2000レコードまでの制限があり、100,000を超えるような大規模なデータセットでは使えません。

□ StandardSetControllerを使用してページネーションを実装します
これは正解です。StandardSetControllerは、大量のデータを扱うVisualforceページでページネーションを実装するためのものです。これにより、一度に表示されるレコードの数を制限し、ビューステートの制限を超えることなくページを表示することができます。

□ 遅延読み込みと一時的なリスト変数を使用します
これは不正解です。遅延読み込みはデータを必要に応じてロードする技術で、ビューステートのサイズを減らすことができます。しかし、これだけではビューステートの最大制限エラーを根本から解決するには不十分です。

□ OffsetControllerを使用してページネーションを実装します
これは不正解です。OffsetControllerというものは、Salesforceの標準のクラスやコンポーネントとして存在しません。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

目次