Oct21th

apex:page

Top / apex:page

○ コントローラの指定したい


■ オブジェクト名を指定

standardController="(オブジェクト名)"
Ex. [取引先]オブジェクトを指定する

apex:page standardController="Account"></apex:page>

■ カスタムコントローラクラス名を指定

controller="(カスタムコントローラクラス名)"
Ex. 作成した[FooController]クラスを指定する

apex:page controller="FooController"></apex:page>

※ [standardController]属性と[controller]属性を両方指定することは不可


○ salesforce のヘッダ及びサイドバーの表示・非表示を指定したい


■ ヘッダの表示・非表示

showHeader="{true|false}"
default : true
Ex. ヘッダを表示しない

apex:page standardController="Account" showHeader="false"></apex:page>

■ サイドバーの表示・非表示

sidebar="(true|false)"
default : true
Ex. サイドバーを表示しない

apex:page standardController="Account" sidebar="false"></apex:page>


○ salesforce の標準のスタイルシートを指定したい・したくない([showHeader]属性が「false」の場合)


standardStylesheets="(true|false)"
default : false
[showHeader]属性が「false」の場合に、標準のスタイルシートを使用するか設定を行う
※ [showHeader]属性が「true」の場合は、ページのヘッダに標準のスタイルシートが追加されるため指定は無効となる
Ex. ヘッダは表示しないけど、スタイルシートは標準のスタイルシートを使用する

apex:page standardController="Account" showHeader="false" standardStylesheets="true"></apex:page>
※ 標準のスタイルシート以外を使用する場合は <apex:stylesheet> を指定する


○ ページのスタイルを統一したい


tabStyle="(オブジェクト名|タブ名)"
Ex. [取引先]オブジェクトと一緒

[取引先]タブを選択した状態で表示させたい
[取引先]タブで使用しているアイコンをセクションのヘッダに表示させたい
... etc
※ 上記を満たすためにはヘッダが表示されている必要がある

apex:page controller="FooController" showHeader="true" tabStyle="Account"></apex:page>


○ ページが要求された時に表示される前に何かの処理を行いたい


action="{!(アクション名)}"
ページがサーバによって要求された時に呼び出される
アクションを指定しない場合は、単にページが返される
初期化のために使用しない
Ex. [FooController]クラスの[init]メソッドを指定する

apex:page controller="FooController" action="{!init}"></apex:page>
public class FooController {

   public void init() {
       // 何かの処理
   }

}


○ キャッシュ


cache="(true|false)"
default : true
Ex. ブラウザのキャッシュページに指定しない

apex:page standardController="Account" cache="false"></apex:page>


◇ 環境


Salesforce - Developer Edition - API バージョン 21.0


◇ 参考


Visualforce Developer's Guide
apex:page