Salesforceのactionfunctionとは?概要や使い方をご紹介
IT・技術関連
更新日:2024.09.05


Salesforceのactionfunctionとは?
Salesforceのactionfunctionとは、AJAX要求を使用したApexクラスのメソッドを直接呼び出すことができるコンポーネント(ソフトウエアの部品)のことです。
AJAX(エイジャックス)とは「Asynchronous JavaScript And XML」の略で、非同期通信や動的にWebページを書き換える機能のことです。
actionfunctionコンポーネントは、<apex:form>コンポーネントの子にする必要があり、また、actionfunctionコンポーネントと呼び出し元の関連付けは、パラメータの順序に従うため、<apex:param>の順序が呼び出し元の引数リストと一致している必要があります。
actionfunctionコンポーネントでは、JavaScriptコードのブロックから呼び出せる新しいJavaScript関数を定義します。
Salesforceのactionfunctionの使い方

<!-- Page: -->
<apex:page controller="exampleCon">
<apex:form>
<!-- Define the JavaScript function sayHello-->
<apex:actionFunction name="sayHello" action="{!sayHello}" rerender="out" status="myStatus"/>
</apex:form>
<apex:outputPanel id="out">
<apex:outputText value="Hello "/>
<apex:actionStatus startText="requesting..." id="myStatus">
<apex:facet name="stop">{!username}</apex:facet>
</apex:actionStatus>
</apex:outputPanel>
<!-- Call the sayHello JavaScript function using a script element-->
<script>window.setTimeout(sayHello,2000)</script>
<p><apex:outputText value="Clicked? {!state}" id="showstate" /></p>
<!-- Add the onclick event listener to a panel. When clicked, the panel triggers
the methodOneInJavascript actionFunction with a param -->
<apex:outputPanel onclick="methodOneInJavascript('Yes!')" styleClass="btn">
Click Me
</apex:outputPanel>
<apex:form>
<apex:actionFunction action="{!methodOne}" name="methodOneInJavascript" rerender="showstate">
<apex:param name="firstParam" assignTo="{!state}" value=" />
</apex:actionFunction>
</apex:form>
</apex:page>
/*** Controller ***/
public class exampleCon {
String uname;
public String getUsername() {
return uname;
}
public PageReference sayHello() {
uname = UserInfo.getName();
return null;
}
public void setState(String n) {
state = n;
}
public String getState() {
return state;
}
public PageReference methodOne() {
return null;
}
private String state = 'no';
}
actionfunctionの「name属性」
Salesforce actionfunctionの「name属性」は、JavaScriptコードから呼び出されるときの関数名を指定します。 name属性はString型です。必ず指定する必要があります。JavaScriptコードで呼び出されるときのJavaScript関数の名前を定義します。呼び出された場合、action属性で指定しているメソッドを実行します。 その後、actionメソッドが終了すると、rerender属性で指定しているコンポーネントを更新します。actionfunctionの「action属性」
Salesforce actionfunctionの「action属性」は、呼び出されたときに実行するメソッドを指定します。 action属性はApexPages.Action型です。DOMイベントによってactionfunctionが呼び出されたときに実行するメソッドを指定します。指定は差し込み構文を使用します。例えば、functionという名前のメソッドだった場合、「action=”{!function}”」のように指定します。actionfunctionの「rerender属性」
Salesforce actionfunctionの「rerender属性」は、メソッド実行後に更新するコンポーネントを指定します。 rerender属性はObject型です。action属性に指定したメソッドを実行した後に更新するコンポーネントのIDを指定します。actionfunctionの「status属性」
Salesforce actionfunctionの「status属性」は、状況表示コンポーネントのIDを指定します。 status属性はString型です。AJAX更新要求の状況表示するコンポーネントのIDを指定します。状況表示するコンポーネントは、「actionStatusコンポーネント」です。Salesforce その他のactionについて

Salesforceのactionfunctionを活用しよう!

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。