"Fossies" - the Fresh Open Source Software Archive

Member "grails-core-5.2.4/grails-docs/src/test/resources/docs/ref/Tags/render.html" (14 Sep 2022, 64838 Bytes) of package /linux/www/grails-core-5.2.4.tar.gz:

Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the grails-core-5.2.4.tar.gz project site itself.

(Quick Reference)



Applies an inbuilt or user-defined Groovy template against a model so that templates can be shared and reused


Example domain class:

class Book {
    String title
    String author

Example template:


This template can now be reused whether you have a List of Book`s or a single `Book. For a List the template will be repeated for each instance:

<g:render template="displaybook" collection="${books}" />

and for a single instance the template is rendered once:

<g:render template="displaybook" bean="${book}" />

You can also create a template for a particular type of model. For example this template:


could be used with this model:

<g:render template="displaybook" model="['book':book,'author':author]" />

The disadvantage of this approach is that the template is less reusable.

It is also possible to define the name of the variable to be used by the template in the render tag:

Example template:


Example render tag call for the above template

<g:render template="displaybook" collection="${books}" var="myBook"/>


Note that if the value of the template attribute starts with a '/' it will be resolved relative to the views directory. This is useful for sharing templates between views. Without the leading '/' it will be first be resolved relative to the current controller’s view directory then, failing that, the top level views directory. In either case the template file must be named with a leading underscore ('_') but referenced in the template attribute without that underscore or the '.gsp' suffix.


  • 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.

  • template (required) - The name of the template to apply

  • bean (optional) - The bean to apply the template against

  • model (optional) - The model to apply the template against as a java.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

See render in the user guide for more information.