Visualforce-4.标准控制器(Standard Controller)

1.Visualforce Standard Controller

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>

预览结果:

 可以在在URL结尾加上AccountId,预览结果如下

 代码解析:

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>

posted @ 2022-05-07 15:59  KousaiMiao  阅读(103)  评论(0编辑  收藏  举报