標準コントローラーアクションの使用
action メソッドは、ユーザーがボタンをクリックしたり、ページ内のある領域にマウスポインターを移動したりするなどのページイベントが発生すると、ロジックまたはナビゲーションを実行します。次のいずれかのタグの action パラメーターに {! } 表記を使用することによって、ページマークアップから action メソッドをコールできます。
- <apex:commandButton> はアクションをコールするボタンを作成する
- <apex:commandLink> はアクションをコールするリンクを作成する
- <apex:actionPoller> は定期的にアクションをコールする
- <apex:actionSupport> は、別の名前つきのコンポーネントにイベント (「onclick」、「onmouseover」など) を作成し、アクションをコールする
- <apex:actionFunction> は、アクションをコールする新しい JavaScript 関数を定義する
- <apex:page> はページが読み込まれると、アクションをコールする
次の表に、すべての標準コントローラーでサポートされる action メソッドの一覧を示します。これらのアクションは、action 属性が含まれる Visualforce コンポーネントに関連付けることができます。
| アクション | 説明 |
|---|---|
| save | 新規レコードを挿入するか、既存のレコードが現在コンテキストにある場合はそれを更新します。この操作が完了した後、save アクションは、元のページ (わかっている場合) にユーザーを戻すか、保存したレコードの詳細ページにユーザーを移動します。 |
| quicksave | 新規レコードを挿入するか、既存のレコードが現在コンテキストにある場合はそれを更新します。save アクションとは異なり、このページはユーザーを別のページにリダイレクトしません。 |
| edit | 現在コンテキストにあるレコードの編集ページにユーザーを移動します。この操作が完了した後、edit アクションは、最初にユーザーがアクションを呼び出したページにユーザーを戻します。 |
| delete | コンテキストにあるレコードを削除します。この操作が完了した後、delete アクションは、ページを更新するか、関連付けられたオブジェクトのタブにユーザーを移動します。 |
| cancel | 編集操作を中止します。この操作が完了した後、cancel アクションは、最初にユーザーが編集を呼び出したページにユーザーを戻します。 |
| list | そのオブジェクトに対して最近使用されたリスト検索条件に基づいて、標準リストページの PageReference オブジェクトを返します。たとえば、標準コントローラーが contact で、ユーザーが表示した最近検索されたリストが New Last Week (先週に新規作成) の場合、先週作成された取引先責任者が表示されます。 |
たとえば、次のページでは取引先を更新できます。[保存] をクリックすると、save アクションが標準コントローラーでトリガーされ、取引先が更新されます。
1<apex:page standardController="Account">
2 <apex:form>
3 <apex:pageBlock title="My Content" mode="edit">
4 <apex:pageBlockButtons>
5 <apex:commandButton action="{!save}" value="Save"/>
6 </apex:pageBlockButtons>
7 <apex:pageBlockSection title="My Content Section" columns="2">
8 <apex:inputField value="{!account.name}"/>
9 <apex:inputField value="{!account.site}"/>
10 <apex:inputField value="{!account.type}"/>
11 <apex:inputField value="{!account.accountNumber}"/>
12 </apex:pageBlockSection>
13 </apex:pageBlock>
14 </apex:form>
15</apex:page>