15

Using Controller Extension with Custom Controller

Here’s a sample code example for a Visualforce page with a standard controller and multiple controller extensions in Apex:

Visualforce Page (samplePage.page):

<apex:page controller="Account" extensions="SampleExtension1, SampleExtension2">
    <h1>Welcome to the Sample Page</h1>
    
    <apex:outputText value="Account Name: {!accountName}" />
    <apex:outputText value="Contact Name: {!contactName}" />
</apex:page>

Controller Extension 1 (SampleExtension1.cls):

public class SampleExtension1 {
    private ApexPages.StandardController stdController;
    
    public SampleExtension1(ApexPages.StandardController controller) {
        stdController = controller;
    }
    
    public String getAccountName() {
        // Accessing the standard controller's record
        Account acc = (Account)stdController.getRecord();
        return acc.Name;
    }
}

Controller Extension 2 (SampleExtension2.cls):

public class SampleExtension2 {
    private ApexPages.StandardController stdController;
    
    public SampleExtension2(ApexPages.StandardController controller) {
        stdController = controller;
    }
    
    public String getContactName() {
        // Accessing the standard controller's record
        Contact con = (Contact)stdController.getRecord();
        return con.Name;
    }
}
salesforce-developer
Next Topic

Need more support?

Get a head start with our FREE study notes!

Learn more and get all the answers you need at zero cost. Improve your skills using our detailed notes prepared by industry experts to help you excel.

ServiceNow Stripe