標準コントローラアクションの使用
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>