Controller的两种构造函数

说简单了就是扩展标准Controller或者Custom Controller的功能。

直接上代码

public class ExtensionController {
 
    private final Account acct;
    
    
    public ExtensionController (ApexPages.StandardController stdController) {
        this.acct = (Account)stdController.getRecord();
    }
 
    public String getGreeting() {
        return 'Hello ' + acct.name + ' (' + acct.id + ')';
    }
}

这个是扩展了标准Controller的功能,其他时候看到的Constructor都是不带参数的,这个带了个ApexPages.StandardController stdController,我多看到带参数的构造函数的只有这里了。

Page的写法,上代码:

<apex:page standardController="Account" extensions="ExtensionController">
    {!greeting} <p/>
    <apex:form >
        <apex:inputField value="{!account.name}"/> <p/>
        <apex:commandButton value="Save" action="{!save}"/>
    </apex:form>
</apex:page>

OK, 结束。

本文的目的是扩展controller的写法。

所以其他Java中允许的构造函数重构等等,在这里都不允许了。

你可能感兴趣的:(Salesforce学习)