問題
標準機能とカスタム機能の両方を含むケースレコードを表示および編集するVisualforceページが必要です。VisualforceページにmyControllerExtensionというApexクラスで定義されたコントローラ機能を正しく実装するためにどの属性を含める必要がありますか。
- extensions = “myControllerExtension”
- controller = “myControllerExtension”
- controller = “Case” extensions = “myControllerExtension”
- standardController = “Case” extensions = “myControllerExtension”
正解
- extensions = “myControllerExtension”
- controller = “myControllerExtension”
- controller = “Case” extensions = “myControllerExtension”
- standardController = “Case” extensions = “myControllerExtension”
解説
Visualforceページで標準機能にカスタムコントローラ拡張機能を追加するには、ページの<apex:page>タグにstandardController属性で標準コントローラを指定し、extensions属性でカスタム拡張クラスを追加する必要があります。正しい組み合わせを使用することで、標準のオブジェクト操作にカスタムのロジックを組み込むことが可能になります。
参考:コントローラ拡張の作成
それぞれの選択肢の理由について説明します。
□ extensions = “myControllerExtension”
これは不正解です。extensionsを指定するだけでは不十分です。standardControllerやcustomControllerの指定がないため、Visualforceページはどのオブジェクトのレコードを扱うのか分かりません。
□ controller = “myControllerExtension”
これは不正解です。controller属性はカスタムコントローラを指定するために使用されますが、この質問の要件ではCaseオブジェクトの標準コントローラに拡張機能を追加する必要があるため、この属性の使用方法が間違っています。
□ controller = “Case” extensions = “myControllerExtension”
これは不正解です。標準コントローラを指定する際にはstandardController属性を使用する必要があり、controllerはカスタムコントローラを指定するためのものです。
参考:カスタムコントローラの作成
□ standardController = “Case” extensions = “myControllerExtension”
これは正解です。standardController属性で標準コントローラ(この場合はCaseオブジェクト)を指定し、extensions属性でその標準コントローラを拡張するカスタムApexクラス(myControllerExtension)を指定しています。これにより、標準機能に加えてカスタム機能をVisualforceページに組み込むことができます。
次の問題へ

前の問題へ

1問目から復習する


コメント