说简单了就是扩展标准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中允许的构造函数重构等等,在这里都不允许了。