Visualforce 页面中的 apex:component

2025年3月17日 | 阅读 3 分钟

<apex:component> 是一个自定义的 Visualforce 组件。所有自定义组件的定义都包装在单个 <apex:component> 标签内。

通过使用 "html-" 前缀,此组件支持 HTML 直通属性。HTML 直通属性将附加到生成的 divspan 容器,具体取决于 layout 属性。

<apex:component> 具有以下一些属性,我们可以在设计 Visualforce 页面时使用它们

1. 访问权限

这是一个字符串类型的属性,用于指定我们是否可以在同一命名空间中的任何页面之外访问此组件。

此属性的可能值如下

  1. public
  2. 全局

语法

2. allowDML

allowDML 属性是一个布尔类型的属性,用于在组件中包含 DML。如果其值设置为 true,我们可以在组件中添加 DML,否则我们不能。

语法

3. controller

controller 属性是一个字符串类型的属性,用于定义负责控制此组件行为的控制器名称。

语法

4. extensions

extensions 属性是一个字符串类型的属性,用于定义一个或多个控制器扩展,以向此组件添加额外的逻辑。

语法

5. id

id 属性是一个字符串类型的属性,允许此组件被组件定义中的其他标签引用。

语法

6. language

language 是一个字符串类型的属性,用于指定生成 HTML 输出所使用的基本语言。其值可以是 "en" 或 "en-US" 等。

语法

6. layout

layout 是一个字符串类型的属性,用于定义组件的 HTML 布局样式。此属性的可能值如下

  1. block(组件用 HTML div 标签包装)
  2. inline(组件用 HTML span 标签包装)
  3. none(组件未用任何生成的 HTML 标签包装)

inline 是此属性的默认值。

语法

8. rendered

rendered 属性是一个布尔类型的属性,用于指定此组件是否在页面上呈现。默认情况下,其值设置为 true。

语法

9. selfClosing

另一个布尔类型的属性,用于定义 Visualforce 编辑器如何关闭此组件。

当其值设置为 true 时,VF 编辑器会将组件自动完成为自闭合标签。

当其值设置为 false 时,VF 编辑器将使用开始标签和结束标签自动完成组件。

语法

让我们举个例子来了解我们如何在 VF 中使用 <apex:component>

ApexComponentExample.vfp

ApexCustomComponent.vfc

ApexComponentController.apxc

输出

apex:component in Visualforce page