Cms Macros
OpenCms has a macro language that you can use parameters to your jsp tags. This is particularly useful for cms:contentload.
The macros are resolved using CmsMacroResolver. This "resolves macros in the form of ${key} in an input String. The macro names that can be resolved depend of the context objects provided to the resolver using the set... methods."
The old macro delimeter is $. The new one is %, as of 7.0
If a macro is found that can not be mapped to a value by the given macro resolver, it is left untouched in the input.
Key examples
- ${property.collector} - resolves to a property called collector
- ${number} - resolves to any number
- ${property.xml-content} -
Will be replaced by the value of the property "xml-content"
- ${opencms.uri} -
Will be replaced by the current OpenCms VFS URI. Its typical to use this with the singleFile collector a detail view jsp.
- ${opencms.filename} -
Will be replaced by the resource name of the current xml content resource while looping through the single resources.
- ${param.resourceType} -
Will be replaced by the value of the Http reuest parameter "resourceType.
A full list of macro Keys is at [1].
Other values
You can pass in other values, too, that will be left alone and passed on to the Cms Resource Collector.
Examples:
- ${*}.{*} - resolves to any file with an extension