Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
Provide Status for Asynchronous Operations
The <apex:actionStatus> component displays a status message at the beginning or end of a background event with the startText or stopText attributes. It can also display an image or other component.
Example
The example Visualforce page shows a list of an account’s contacts. After a user clicks a contact’s name, the detail area displays the status message “Requesting...” until the contact’s details render.
The <apex:actionStatus> component’s startText attribute is set to the text displayed at the start of the Ajax request.
The id attribute allows other components to reference the <apex:actionStatus> component. Because the <apex:commandLink> component initiates the Ajax request, its status attribute is set to the <apex:actionStatus> component’s id.
<apex:actionStatus> supports the <apex:facet> component. The <apex:facet> component’s name attribute is set to stop, which indicates that the status message displays until the component nested inside the facet component renders. In this example, that component is <apex:detail>, which shows the chosen contact’s details.
1<apex:page standardController="Account">
2 <apex:pageBlock title="Hello {!$User.FirstName}!">
3 You are displaying contacts from the {!account.name} account.
4 Click a contact's name to view his or her details.
5 </apex:pageBlock>
6 <apex:pageBlock title="Contacts">
7 <apex:form>
8 <apex:dataTable value="{!account.Contacts}" var="contact" cellPadding="4"
9 border="1">
10 <apex:column>
11 <apex:commandLink rerender="detail" status="detailStatus">
12 {!contact.Name}
13 <apex:param name="cid" value="{!contact.id}"/>
14 </apex:commandLink>
15 </apex:column>
16 </apex:dataTable>
17 </apex:form>
18 </apex:pageBlock>
19 <apex:outputPanel id="detail">
20 <apex:actionStatus startText="Requesting..." id="detailStatus">
21 <apex:facet name="stop">
22 <apex:detail subject="{!$CurrentPage.parameters.cid}"
23 relatedList="false" title="false"/>
24 </apex:facet>
25 </apex:actionStatus>
26 </apex:outputPanel>
27</apex:page>When you visit this page, include an account id as part of the URL, for example https://MyDomainName--c.vf.force.com/apex/ajaxAsyncStatus?id=001x000xxx3Jsxb.