Hst Component Configuration Properties
This page describes the key configuration properties available for HST components in Bloomreach Content.
Overview of Key Properties
The following properties are commonly used to configure HST components:
hst:componentclassname: Specifies the fully qualified Java class name for the component. Define this property only for components that require custom behavior. If a component only renders a template and does not require Java logic, omit this property.hst:template: Sets the repository-relative path to the template used for rendering the component. The path is relative to thehst:templatesnode.hst:referencecomponent: Points to another component configuration to extend. The path is relative to thehst:configurationnode.hst:parameternames: A multivalued property listing the names of the component parameters.hst:parametervalues: A multivalued property listing the values for each parameter defined inhst:parameternames.
For details on hst:template and hst:referencecomponent, see HstComponent Configuration. The sections below explain hst:parameternames, hst:parametervalues, and hst:componentclassname.
Component Parameters
You can configure parameters for a component using the multivalued properties hst:parameternames and hst:parametervalues. Both properties must be present and must contain the same number of values. Each entry in hst:parameternames corresponds to the entry at the same index in hst:parametervalues, forming a key-value pair.
Parameters not defined directly on a component are inherited from ancestor components. If a parameter is defined both on the component and an ancestor, the component's value takes precedence.
To access only the parameters defined on the component itself (excluding inherited parameters), use the localParameters map. Refer to the #getLocalParameter method in the BaseHstComponent JavaDoc for details.
SiteMapItems can also define parameternames and parametervalues. In this case, parameters are similarly inherited from ancestor items, though this is less common than on components.
Parameter values can include property placeholders such as ${1}, ${2}, etc. These placeholders are replaced with the corresponding wildcard values from the matched ancestor SiteMapItem nodes. You can also use parameter names as placeholders, for example ${name}. If the matched SiteMapItem defines a parameter name="foo", then a component parameter like theName=${name} will resolve to theName="foo". If a placeholder cannot be resolved, the parameter value is set to null.
hst:componentclassname
The hst:componentclassname property specifies the fully qualified class name of the Java class that implements the org.hippoecm.hst.core.component.HstComponent interface. For more information, see HstComponent Java Class.