自定义控制器扩展是在Apex中编写的一个类,它可以扩展标准控制器并添加自定义功能。以下是一个示例代码,展示如何编写一个自定义控制器扩展,用于获取相关记录并在列表/索引上进行迭代,并与apex:repeat一起使用。
public class CustomControllerExtension {
private List accountList;
public CustomControllerExtension(ApexPages.StandardController stdController) {
// 获取标准控制器中的记录信息
Account currentAccount = (Account)stdController.getRecord();
// 查询相关记录
accountList = [SELECT Id, Name FROM Account WHERE Industry = :currentAccount.Industry];
}
public List getAccountList() {
return accountList;
}
}
在Visualforce页面中,您可以使用apex:repeat
标签来迭代自定义控制器扩展中的记录列表。
{!account.Name}
在上面的示例中,自定义控制器扩展CustomControllerExtension
接收标准控制器ApexPages.StandardController
作为构造函数的参数,并在构造函数中获取相关记录并将其存储在accountList
变量中。然后,通过getAccountList
方法将accountList
变量暴露给Visualforce页面。在Visualforce页面中,使用apex:repeat
标签来迭代accountList
并显示每个账户的名称。
请注意,您需要将标准控制器和自定义控制器扩展与Visualforce页面相关联,如示例中的standardController="Account" extensions="CustomControllerExtension"
所示。