This tag acts as a placeholder for your dynamic Apex components. It has one required parameter—componentValue—which accepts the name of an Apex method that returns a dynamic component.
The following Visualforce components do not have dynamic Apex representations:
<apex:attribute><apex:component><apex:componentBody><apex:composition><apex:define><apex:dynamicComponent><apex:include><apex:insert><apex:param><apex:variable>
Example
<apex:page controller="SimpleDynamicController">
<apex:dynamicComponent componentValue="{!dynamicDetail}" />
</apex:page>
/* Controller */
public class SimpleDynamicController {
public Component.Apex.Detail getDynamicDetail() {
Component.Apex.Detail detail = new Component.Apex.Detail();
detail.expressions.subject = '{!acct.OwnerId}';
detail.relatedList = false;
detail.title = false;
return detail;
}
// Just return the first Account, for example purposes only
public Account acct {
get { return [SELECT Id, Name, OwnerId FROM Account LIMIT 1]; }
}
}
Attributes
| Attribute Name | Attribute Type | Description | Required? | API Version | Access |
|---|---|---|---|---|---|
componentValue |
UIComponent | Accepts the name of an Apex method that returns a dynamic Visualforce component. | Yes | 22.0 | |
id |
String | An identifier that allows the attribute to be referenced by other tags in the custom component definition. | 22.0 | global | |
invokeAfterAction |
Boolean | A Boolean value that, when true, specifies that componentValue's Apex method is called after the page's or submit's action method is invoked. | 31.0 | ||
rendered |
Boolean | A Boolean value that specifies whether the component is rendered on the page. If not specified, this value defaults to true. | 22.0 |
See Also