問題
開発者はオブジェクトのVisualforceを使用してボタンをオーバーライドしたいと考えています。
どんな要件を満たしている必要がありますか。
- コントローラまたは拡張機能にPageReferenceメソッドを設定する。
- オブジェクトにstandardController属性を設定する。
- action属性をコントローラのメソッドに設定する。
- オブジェクトレコードは、コントローラまたは拡張機能でインスタンス化する必要があります。
正解
- コントローラまたは拡張機能にPageReferenceメソッドを設定する。
- オブジェクトにstandardController属性を設定する。
- action属性をコントローラのメソッドに設定する。
- オブジェクトレコードは、コントローラまたは拡張機能でインスタンス化する必要があります。
解説
それぞれの選択肢の理由について説明します。
□ コントローラまたは拡張機能にPageReferenceメソッドを設定する。
これは不正解です。ボタンをオーバーライドするためには、PageReferenceメソッドの設定は必須ではありません。PageReferenceは、ページのリダイレクトやURLの取得・設定、クエリ文字列パラメータの取得・設定など、ページの参照やナビゲーションに関連する操作を行うためのクラスです。
□ オブジェクトにstandardController属性を設定する。
これは正解です。ボタンをオーバーライドするためのVisualforceページを作成する際、関連するオブジェクトの標準コントローラを指定するために、standardController属性を使用します。この属性により、ページは特定のオブジェクトのデータと動作にアクセスできるようになります。
□ action属性をコントローラのメソッドに設定する。
これは不正解です。action属性は、Visualforceページが読み込まれる際や、特定のVisualforceコンポーネントがクリックされたときに実行されるコントローラのメソッドを指定するためのものです。ただし、この属性だけでボタンをオーバーライドするわけではありません。
□ オブジェクトレコードは、コントローラまたは拡張機能でインスタンス化する必要があります。
これは不正解です。ボタンをオーバーライドする際、その背後にあるロジックを実行するためのコントローラや拡張機能が必要となることがあります。しかし、オーバーライドの動作自体がオブジェクトレコードのインスタンス化を必要とするわけではありません。オブジェクトレコードのインスタンス化は、特定のデータ操作やビジネスロジックの実行時に必要となる場合がありますが、それはボタンのオーバーライドとは直接関連していません。
コメント