Dynamic field references are useful when you do not know what fields to display. Component generation comes into play when you do not know what object to render. It allows the construction of a Visualforce page from Apex code.
To start using component generation, add one or more
dynamicComponent elements to your Visualforce page. This serves as the container into which the generated components are injected. The
dynamicComponent is bound to a controller method, specified in the
componentValue attribute, that must return an instance of
Component.Apex.* to be rendered.