<cache:render template="myTemplate" model="[user: currentUser]" key="${currentUser.id}"/>
render
Description
Renders a GSP template and caches the result so that the next time the same template is rendered it doesn’t have to be evaluated again. Optionally, a key may be provided which can be helpful if the cached content is different per user, for example.
This tag behaves just like the g:render
tag provided by Grails except this one
caches the rendered result so the template doesn’t have to be re-evaluated each
time it is rendered.
By default the key used in the cache is the path to the template. If the same template is rendered multiple times with a different model, an explicit key should be provided, otherwise the separate invocations (with different models) will share the same cache entry.
Note that the key’s namespace is confined to a particular template. This means that if there are 2 separate GSP templates cached with the same key value, the 2 will not collide with each other. Each cached GSP template has its own set of keys.
Examples
<cache:render template="myTemplate" model="[name: 'Some Value']"/>
<cache:render template="myTemplate" model="[name: 'Some Value']" key="${currentUser.id}"/>
<cache:render template="myTemplate" model="[name: 'Some Value']" key="${currentUser.id}" ttl="${60*60*24*7}" />
Attributes
-
template
(required) - The name of the template to apply -
key
(optional) - An optional key that may be provided to allow for different instances of the rendered template to be held in the cache, presumably with different content. -
contextPath
(optional) - the context path to use (relative to the application context path). Defaults to "" or path to the plugin for a plugin view or template. -
bean
(optional) - The bean to apply the template against -
model
(optional) - The model to apply the template against as ajava.util.Map
-
collection
(optional) - A collection of model objects to apply the template to -
var
(optional) - The variable name of the bean to be referenced in the template -
plugin
(optional) - The plugin to look for the template in -
ttl
(optional) - An optional ttl (seconds) may be provided to allow the blocks to automatically evict a specified number of seconds after first insertion.
See the documentation for the core g.render
tag for details on each of the optional attributes.