Visualforce 使用传统的模型 (model)- 视图(view) - 控制器(controller)(MVC)范例,包含复杂的内置控制器来处理标准动作和数据访问,并提供与 Lightning 平台数据库简单而紧密的集成。这些内置控制器通常称为标准控制器。
MVC 设计模式可以轻松地将视图及其样式与底层数据库和逻辑分离。
在 MVC 中,视图(Visualforce 页面)与controller交互,controller为页面提供功能。例如,controller可以包含单击按钮时要执行的逻辑。controller通常还与model(数据库)进行交互 — 提供view可能想要显示的可用数据,或将更改推送回数据库。
大多数标准和所有自定义对象都有标准controller,可用于与对象关联的数据进行交互,因此无需自己编写controller代码。
可以扩展标准控制器以添加新功能,或从零开始创建自定义controller。
<apex:page 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对象的Standard controller
2.Standard controller检测URL中有一个ID参数,然后搜索并检索匹配的客户记录
3.Standard controller获取记录,并将其放入可供页面使用的变量中。变量名与标准控制器的 sObject 同名,都称为 Account。它是一个对象变量,包含客户 sObject 上可用的所有字段。
4.四个 Visualforce 表达式都引用了客户变量。这些表达式使用点记法访问客户变量中的各个字段。因此,{! Account.Name } 获取了客户名称等。
注意:{! Account.AnnualRevenue }显示的是科学计数法,原因是数字由表达式直接输出。将原始值直接放到页面。要控制值的格式,可以使用相关组件< apex:outputField>
Standard Controllers
Standard List Controllers
“The Standard Controller,” in Visualforce in Practice
“The Standard List Controller,” in Visualforce in Practice
Twitter Bootstrap and Visualforce in Minutes