什么是Visualforce标准控制器
Visualforce使用了传统的MVC架构,并提供标准的内置控制器来处理标准action和数据访问(与Force.com数据库集成良好)。
MVC的好处就是能清楚地将视图,数据和逻辑区分开来。视图(VF页面)与控制器交互,控制器为页面提供功能,比如控制器中可以存放当页面上的一个按钮被点击后需要被运行的逻辑代码。控制器还可以直接与Model(数据库)交互,获取View需要显示的数据或者修改回数据库的数据。
所有的自定义对象和大部分的标准对象都拥有标准控制器(standard controller)来操作数据。你也可以扩展标准控制器来添加新功能。
标准控制器的使用:显示一条记录
<apex:page sidebar="false" standardController="Account">
<apex:pageBlock title="Account Summary">
<apex:pageBlockSection>
Name: {! Account.Name } <br/>
Phone: {! Account.Phone } <br/>
Industry: {! Account.Industry } <br/>
Revenue: {! Account.AnnualRevenue } <br/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:page>
页面显示流程顺序:
1, 当页面被读取时,首先激活Apex:Page, 然后激活其中的account标准控制器
2, Account标准控制器发现URL中有ID,根据这个ID查找并获取这个account记录。
3, 标准控制器拿到记录后,将信息显示在要显示的地方,对象变量的名称必须和标准控制器sObejct一样,在此例中是Account
4, Account变量使用’点标记’来访问对象的字段,比如{! Account.Name }
参考资源
- Standard Controllers
- Standard List Controllers
- Building Visualforce Pages Using the Standard Controller
- “The Standard Controller,” in Visualforce in Practice
- “The Standard List Controller,” in Visualforce in Practice
- Twitter Bootstrap and Visualforce in Minutes
- Leverage StandardSetController in Apex and Visualforce