📜  Salesforce-标准控制器(1)

📅  最后修改于: 2023-12-03 15:34:48.075000             🧑  作者: Mango

Salesforce标准控制器

Salesforce标准控制器是一种现成的工具,可用于管理标准对象的数据。它提供了许多常用的操作,如创建、读取、更新和删除(CRUD)。这些操作只需一些配置即可完成,并且无需编写任何代码。这使得开发人员能够更专注于业务逻辑和自定义需求,而不必浪费时间写重复的 CRUD 操作。

标准控制器类型

Salesforce标准控制器分为两种类型:视图控制器和批量控制器。

视图控制器

视图控制器是用于管理单个记录的标准控制器。它们配置方便,适用于某些用户只需要浏览或更改记录时。

可用的视图控制器包括:

  • 标准控制器:为标准对象的默认视图提供操作。例如,Account.standardController。

  • 自定义控制器:为自定义对象的视图提供操作。

批量控制器

批量控制器是用于处理多个记录的标准控制器。它们用于执行大批量的 CRUD 操作,例如删除和更新记录。批量控制器必须实现Database.Batchable接口。

可用的批量控制器包括:

  • 标准控制器:为标准对象的默认视图提供操作。

  • 自定义控制器:为自定义对象的视图提供操作。

使用标准控制器

使用标准控制器时,你只需要配置控制器并将其添加到页面中即可。以下是使用标准控制器的一般步骤:

  1. 创建一个新的视图或页面,并将该页面的控制器设置为需要使用标准控制器的标准对象或自定义对象的标准控制器。
  2. 将标准对象/自定义对象的记录 ID 作为参数传递给控制器。
  3. 将控制器方法添加到页面中。

以下是一个示例页面,该页面使用标准控制器显示帐户的详细信息:

<apex:page standardController="Account" recordSetVar="accounts">
    <apex:form >
        <apex:pageBlock title="Account Detail">
            <apex:pageBlockSection columns="2">
                <apex:outputField value="{!Account.Name}" />
                <apex:outputField value="{!Account.Phone}" />
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>

在上面的示例中,standardController="Account"指示页面使用帐户的标准控制器。<apex:outputField>标签用于显示帐户名称和电话号码字段。

扩展标准控制器

如果标准控制器不能满足你的需求,你可以编写一个自定义控制器。自定义控制器允许你扩展标准控制器,添加自己的业务逻辑和定制行为。以下是一个简单的自定义控制器示例:

public class CustomController {
    private ApexPages.StandardController stdController;
    
    public CustomController(ApexPages.StandardController controller) {
        stdController = controller;
    }
    
    // 自定义方法
    public void myCustomAction() {
        // 你的代码
    }   
}

在上面的示例中,我们创建了一个名为CustomController的自定义控制器。在构造函数中,我们传递了标准控制器,并将其分配给变量stdController。过程中可以添加自己的业务逻辑和自定义方法。

总结

Salesforce标准控制器是一种强大的工具,可用于管理标准对象的数据。它提供了常见的操作,如 CRUD 操作,为开发人员节省了时间和精力。此外,它还可与自定义控制器进行扩展和增强,以满足更具体的要求。在开发Salesforce应用程序时,使用标准控制器是不可或缺的一部分。