blob: f9d3128748670ca33b5ea9091b267a550d3ab641 [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>The Grails Framework 7.0.5</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
<script type="text/javascript">
function addJsClass(el) {
var classes = document.body.className.split(" ");
classes.push("js");
document.body.className = classes.join(" ");
}
</script>
<style>
.contribute-btn {
bottom: 0px;
}
</style>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '79']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
data-project-name="Apache Grails"
data-project-color="#3F4346"
data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
data-project-logo="https://grails.apache.org/images/grails.png"
data-modal-override-open-id="ask-ai-input"
data-modal-override-open-class="search-input"
data-user-analytics-fingerprint-enabled="true"
data-modal-title="Apache Grails AI Assistant"
data-modal-example-questions-title="Try asking me..."
data-modal-disclaimer="This is a custom LLM for Apache Grails using [documentation](https://docs.grails.org/latest/), [groovy documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/) [github issues](https://github.com/apache/grails-core/issues) and more.
Companies deploy assistants like this [](https://kapa.ai) on docs via [website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, Reddit), in [support forms](https://docs.kapa.ai/integrations/support-form-deflector) for ticket deflection (Monday.com, Mapbox), or as [an internal assistant](https://docs.kapa.ai/integrations/internal-assistant) with access to private sources."
data-modal-example-questions="How does database migration work?,How does Spring Security work?"
data-button-text-color="#FBB576"
data-modal-header-bg-color="#FFFFFF"
data-modal-title-color="#FBB576"
data-consent-required="true"
data-consent-screen-disclaimer="By clicking &quot;I agree, let&#39;s chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai&#39;s [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google&#39;s [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai&#39;s and Google&#39;s privacy policies.">
></script>
</head>
<body class="body" onload="addJsClass();">
<div id="navigation">
<div class="navTitle">
The Grails Framework
</div>
<div class="navLinks">
<ul>
<li>
<div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
<a href="../../guide/index.html" class="button">Table of contents</a>
<div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../../guide/introduction.html"><strong>1</strong><span>Introduction</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/upgrading.html"><strong>3</strong><span>Upgrading from the previous versions</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/conf.html"><strong>4</strong><span>Configuration</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/commandLine.html"><strong>5</strong><span>The Command Line</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/profiles.html"><strong>6</strong><span>Application Profiles</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/GORM.html"><strong>7</strong><span>Object Relational Mapping (GORM)</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/theWebLayer.html"><strong>8</strong><span>The Web Layer</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/traits.html"><strong>9</strong><span>Traits</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/REST.html"><strong>10</strong><span>REST</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/async.html"><strong>11</strong><span>Asynchronous Programming</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/validation.html"><strong>12</strong><span>Validation</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/services.html"><strong>13</strong><span>The Service Layer</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/staticTypeCheckingAndCompilation.html"><strong>14</strong><span>Static Type Checking And Compilation</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/testing.html"><strong>15</strong><span>Testing</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/i18n.html"><strong>16</strong><span>Internationalization</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/security.html"><strong>17</strong><span>Security</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/plugins.html"><strong>18</strong><span>Plugins</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/spring.html"><strong>19</strong><span>Grails and Spring</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/scaffolding.html"><strong>20</strong><span>Scaffolding</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/cache.html"><strong>21</strong><span>Grails Cache</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/deployment.html"><strong>22</strong><span>Deployment</span></a>
</div>
<div class="toc-item" style="margin-left:0"><a href="../../guide/contributing.html"><strong>23</strong><span>Contributing to Grails</span></a>
</div>
</div>
</div>
</li>
<li class="separator selected">
<a id="ref-button" onclick="localToggle(); return false;" href="#">Quick Reference</a>
</li>
</ul>
</div>
</div>
<table id="colset" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="col1">
<div id="main" class="reference corner-all">
<span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span>
<div class='contribute-btn'>
<button type='button' class='btn btn-default' onclick='window.location.href="https://github.com/apache/grails-core/edit/7.0.x/grails-doc/src/en/ref/Controllers/render.adoc"'>
<i class='fa fa-pencil-square-o'></i> Improve this doc
</button>
</div>
<div class="sect1">
<h2 id="_render">render</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_purpose">Purpose</h3>
<div class="paragraph">
<p>To render different forms of responses from simple text responses, to view and templates.</p>
</div>
</div>
<div class="sect2">
<h3 id="_examples">Examples</h3>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="comment">// renders text to response</span>
render <span class="string"><span class="delimiter">&quot;</span><span class="content">some text</span><span class="delimiter">&quot;</span></span>
<span class="comment">// renders text for a specified content-type/encoding</span>
render(<span class="key">text</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">&lt;xml&gt;some xml&lt;/xml&gt;</span><span class="delimiter">&quot;</span></span>, <span class="key">contentType</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">text/xml</span><span class="delimiter">&quot;</span></span>, <span class="key">encoding</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">UTF-8</span><span class="delimiter">&quot;</span></span>)
<span class="comment">// render a template to the response for the specified model</span>
<span class="keyword">def</span> theShining = <span class="keyword">new</span> <span class="predefined-type">Book</span>(<span class="key">title</span>: <span class="string"><span class="delimiter">'</span><span class="content">The Shining</span><span class="delimiter">'</span></span>, <span class="key">author</span>: <span class="string"><span class="delimiter">'</span><span class="content">Stephen King</span><span class="delimiter">'</span></span>)
render(<span class="key">template</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">book</span><span class="delimiter">&quot;</span></span>, <span class="key">model</span>: [<span class="key">book</span>: theShining])
<span class="comment">// render each item in the collection using the specified template</span>
render(<span class="key">template</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">book</span><span class="delimiter">&quot;</span></span>, <span class="key">collection</span>: [b1, b2, b3])
<span class="comment">// render a template to the response for the specified bean</span>
<span class="keyword">def</span> theShining = <span class="keyword">new</span> <span class="predefined-type">Book</span>(<span class="key">title</span>: <span class="string"><span class="delimiter">'</span><span class="content">The Shining</span><span class="delimiter">'</span></span>, <span class="key">author</span>: <span class="string"><span class="delimiter">'</span><span class="content">Stephen King</span><span class="delimiter">'</span></span>)
render(<span class="key">template</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">book</span><span class="delimiter">&quot;</span></span>, <span class="key">bean</span>: theShining)
<span class="comment">// render the view with the specified model</span>
<span class="keyword">def</span> theShining = <span class="keyword">new</span> <span class="predefined-type">Book</span>(<span class="key">title</span>: <span class="string"><span class="delimiter">'</span><span class="content">The Shining</span><span class="delimiter">'</span></span>, <span class="key">author</span>: <span class="string"><span class="delimiter">'</span><span class="content">Stephen King</span><span class="delimiter">'</span></span>)
render(<span class="key">view</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">viewName</span><span class="delimiter">&quot;</span></span>, <span class="key">model</span>: [<span class="key">book</span>: theShining])
<span class="comment">// render the view with the controller as the model</span>
render(<span class="key">view</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">viewName</span><span class="delimiter">&quot;</span></span>)
<span class="comment">// render some markup to the response</span>
render {
div(<span class="key">id</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">myDiv</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">some text inside the div</span><span class="delimiter">&quot;</span></span>)
}
<span class="comment">// render some XML markup to the response</span>
<span class="keyword">def</span> bookList = [
<span class="keyword">new</span> <span class="predefined-type">Book</span>(<span class="key">title</span>: <span class="string"><span class="delimiter">'</span><span class="content">The Shining</span><span class="delimiter">'</span></span>, <span class="key">author</span>: <span class="string"><span class="delimiter">'</span><span class="content">Stephen King</span><span class="delimiter">'</span></span>),
<span class="keyword">new</span> <span class="predefined-type">Book</span>(<span class="key">title</span>: <span class="string"><span class="delimiter">'</span><span class="content">The Great Gatsby</span><span class="delimiter">'</span></span>, <span class="key">author</span>: <span class="string"><span class="delimiter">'</span><span class="content">F. Scott Fitzgerald</span><span class="delimiter">'</span></span>)
]
render(<span class="key">contentType</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">text/xml</span><span class="delimiter">&quot;</span></span>) {
books {
<span class="keyword">for</span> (b <span class="keyword">in</span> bookList) {
book(<span class="key">title</span>: b.title, <span class="key">author</span>: b.author)
}
}
}
<span class="comment">// render a JSON ( https://www.json.org ) response with the builder attribute:</span>
render(<span class="key">contentType</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">application/json</span><span class="delimiter">&quot;</span></span>) {
book(<span class="key">title</span>: b.title, <span class="key">author</span>: b.author)
}
<span class="comment">// render with status code</span>
render(<span class="key">status</span>: <span class="integer">503</span>, <span class="key">text</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">Failed to update book </span><span class="inline"><span class="inline-delimiter">${</span>b.id<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>)
<span class="comment">// render a file</span>
render(<span class="key">file</span>: <span class="keyword">new</span> <span class="predefined-type">File</span>(absolutePath), <span class="key">fileName</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">book.pdf</span><span class="delimiter">&quot;</span></span>)</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_description">Description</h3>
<div class="paragraph">
<p>A multi-purpose method for rendering responses to the client which is best illustrated with a few examples! Warning - this method does not always support multiple parameters. For example, if you specify both collection and model, the model parameter will be ignored.
Parameters</p>
</div>
<div class="paragraph">
<p>Parameters:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>text</code> (optional) - The text to render</p>
</li>
<li>
<p><code>builder</code> (optional) - The builder to use when rendering markup</p>
</li>
<li>
<p><code>view</code> (optional) - The view to delegate the rendering to</p>
</li>
<li>
<p><code>template</code> (optional) - The template to render. A template is usually an HTML snippet and the file starts with an underscore ("_"). This is used mostly in AJAX requests.</p>
</li>
<li>
<p><code>layout</code> (optional) - The layout to use for the response</p>
</li>
<li>
<p><code>var</code> (optional) - The name of the variable to be passed into a template, defaults to the Groovy default argument 'it' if not specified</p>
</li>
<li>
<p><code>bean</code> (optional) - The bean to use in rendering</p>
</li>
<li>
<p><code>model</code> (optional) - The model to use in rendering</p>
</li>
<li>
<p><code>collection</code> (optional) - For rendering a template against each item in a collection</p>
</li>
<li>
<p><code>contentType</code> (optional) - The contentType of the response</p>
</li>
<li>
<p><code>encoding</code> (optional) - The encoding of the response</p>
</li>
<li>
<p><code>plugin</code> (optional) - The plugin to look for the template in</p>
</li>
<li>
<p><code>status</code> (optional) - The HTTP status code to use</p>
</li>
<li>
<p><code>file</code> (optional) - The byte[], java.io.File, or inputStream you wish to send with the response</p>
</li>
<li>
<p><code>fileName</code> (optional) - For specifying an attachment file name while rendering a file.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</td>
<td id="col2">
<div class="local clearfix">
<div class="local-title">
<a href="../../guide/index.html" target="mainFrame">Quick Reference</a>
<span class="toggle">(<a href="#" onclick="localToggle(); return false;">hide</a>)</span>
</div>
<div class="menu">
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">API</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/API/Groovy%20Doc.html">Groovy Doc</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Command Line</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Command%20Line/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Command%20Line/assemble.html">assemble</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/bootRun.html">bootRun</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/bug-report.html">bug-report</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/clean.html">clean</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/compile.html">compile</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/console.html">console</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-app.html">create-app</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-command.html">create-command</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-controller.html">create-controller</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-domain-class.html">create-domain-class</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-functional-test.html">create-functional-test</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-hibernate-cfg-xml.html">create-hibernate-cfg-xml</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-integration-test.html">create-integration-test</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-interceptor.html">create-interceptor</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-job.html">create-job</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-plugin.html">create-plugin</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-profile.html">create-profile</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-restapi.html">create-restapi</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-script.html">create-script</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-service.html">create-service</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-taglib.html">create-taglib</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-unit-test.html">create-unit-test</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/create-web-plugin.html">create-web-plugin</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/dependency-report.html">dependency-report</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/generate-all.html">generate-all</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/generate-controller.html">generate-controller</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/generate-views.html">generate-views</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/help.html">help</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/install-templates.html">install-templates</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/list-features.html">list-features</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/list-plugins.html">list-plugins</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/list-profiles.html">list-profiles</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/package-plugin.html">package-plugin</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/package.html">package</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/plugin-info.html">plugin-info</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/profile-info.html">profile-info</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/run-app.html">run-app</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/run-command.html">run-command</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/run-script.html">run-script</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/schema-export.html">schema-export</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/shell.html">shell</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/stats.html">stats</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/stop-app.html">stop-app</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/test-app.html">test-app</a>
</div>
<div class="menu-item"><a href="../../ref/Command%20Line/war.html">war</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Constraints</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Constraints/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Constraints/attributes.html">attributes</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/bindable.html">bindable</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/blank.html">blank</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/creditCard.html">creditCard</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/email.html">email</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/inList.html">inList</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/matches.html">matches</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/max.html">max</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/maxSize.html">maxSize</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/min.html">min</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/minSize.html">minSize</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/notEqual.html">notEqual</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/nullable.html">nullable</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/range.html">range</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/scale.html">scale</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/size.html">size</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/unique.html">unique</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/url.html">url</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/validator.html">validator</a>
</div>
<div class="menu-item"><a href="../../ref/Constraints/widget.html">widget</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Controllers</h1>
<div class="menu-sub selected">
<div class="menu-item"><a href="../../ref/Controllers/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Controllers/actionName.html">actionName</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/allowedMethods.html">allowedMethods</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/bindData.html">bindData</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/chain.html">chain</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/controllerName.html">controllerName</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/defaultAction.html">defaultAction</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/errors.html">errors</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/flash.html">flash</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/forward.html">forward</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/grailsApplication.html">grailsApplication</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/hasErrors.html">hasErrors</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/header.html">header</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/namespace.html">namespace</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/params.html">params</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/redirect.html">redirect</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/render.html">render</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/request.html">request</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/respond.html">respond</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/response.html">response</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/responseFormats.html">responseFormats</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/scope.html">scope</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/servletContext.html">servletContext</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/session.html">session</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/withForm.html">withForm</a>
</div>
<div class="menu-item"><a href="../../ref/Controllers/withFormat.html">withFormat</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Database Mapping</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Database%20Mapping/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/autoImport.html">autoImport</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/autoTimestamp.html">autoTimestamp</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/batchSize.html">batchSize</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/cache.html">cache</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/cascade.html">cascade</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/column.html">column</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/comment.html">comment</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/discriminator.html">discriminator</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/dynamicInsert.html">dynamicInsert</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/dynamicUpdate.html">dynamicUpdate</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/fetch.html">fetch</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/id.html">id</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/ignoreNotFound.html">ignoreNotFound</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/indexColumn.html">indexColumn</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/insertable.html">insertable</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/joinTable.html">joinTable</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/lazy.html">lazy</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/order.html">order</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/sort.html">sort</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/table.html">table</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/type.html">type</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/updateable.html">updateable</a>
</div>
<div class="menu-item"><a href="../../ref/Database%20Mapping/version.html">version</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Domain Classes</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Domain%20Classes/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/addTo.html">addTo</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/attach.html">attach</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/belongsTo.html">belongsTo</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/clearErrors.html">clearErrors</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/constraints.html">constraints</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/count.html">count</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/countBy.html">countBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/createCriteria.html">createCriteria</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/delete.html">delete</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/discard.html">discard</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/embedded.html">embedded</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/errors.html">errors</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/executeQuery.html">executeQuery</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/executeUpdate.html">executeUpdate</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/exists.html">exists</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/fetchMode.html">fetchMode</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/find.html">find</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findAll.html">findAll</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findAllBy.html">findAllBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findAllWhere.html">findAllWhere</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findBy.html">findBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findOrCreateBy.html">findOrCreateBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findOrCreateWhere.html">findOrCreateWhere</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findOrSaveBy.html">findOrSaveBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findOrSaveWhere.html">findOrSaveWhere</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/findWhere.html">findWhere</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/first.html">first</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/get.html">get</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/getAll.html">getAll</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/getDirtyPropertyNames.html">getDirtyPropertyNames</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/getPersistentValue.html">getPersistentValue</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/hasErrors.html">hasErrors</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/hasMany.html">hasMany</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/hasOne.html">hasOne</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/ident.html">ident</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/instanceOf.html">instanceOf</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/isAttached.html">isAttached</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/isDirty.html">isDirty</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/last.html">last</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/list.html">list</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/listOrderBy.html">listOrderBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/load.html">load</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/lock.html">lock</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/mapWith.html">mapWith</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/mappedBy.html">mappedBy</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/mapping.html">mapping</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/merge.html">merge</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/namedQueries.html">namedQueries</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/properties.html">properties</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/read.html">read</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/refresh.html">refresh</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/removeFrom.html">removeFrom</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/save.html">save</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/transients.html">transients</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/validate.html">validate</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/where.html">where</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/whereAny.html">whereAny</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/withCriteria.html">withCriteria</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/withNewSession.html">withNewSession</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/withSession.html">withSession</a>
</div>
<div class="menu-item"><a href="../../ref/Domain%20Classes/withTransaction.html">withTransaction</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Plug-ins</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Plug-ins/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Plug-ins/URL%20mappings.html">URL mappings</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/codecs.html">codecs</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/controllers.html">controllers</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/core.html">core</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/dataSource.html">dataSource</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/domainClasses.html">domainClasses</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/hibernate.html">hibernate</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/i18n.html">i18n</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/logging.html">logging</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/scaffolding.html">scaffolding</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/services.html">services</a>
</div>
<div class="menu-item"><a href="../../ref/Plug-ins/servlets.html">servlets</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Services</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Services/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Services/scope.html">scope</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Servlet API</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Servlet%20API/request.html">request</a>
</div>
<div class="menu-item"><a href="../../ref/Servlet%20API/response.html">response</a>
</div>
<div class="menu-item"><a href="../../ref/Servlet%20API/servletContext.html">servletContext</a>
</div>
<div class="menu-item"><a href="../../ref/Servlet%20API/session.html">session</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Tag Libraries</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Tag%20Libraries/Usage.html">Usage</a></div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/actionName.html">actionName</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/controllerName.html">controllerName</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/flash.html">flash</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/pageScope.html">pageScope</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/params.html">params</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/request.html">request</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/response.html">response</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/servletContext.html">servletContext</a>
</div>
<div class="menu-item"><a href="../../ref/Tag%20Libraries/session.html">session</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Tags - Cache</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Tags%20-%20Cache/block.html">block</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Cache/render.html">render</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Tags - Fields</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/all.html">all</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/display.html">display</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/displayWidget.html">displayWidget</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/field.html">field</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/input.html">input</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/table.html">table</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/widget.html">widget</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20Fields/with.html">with</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Tags - GSP</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/actionSubmit.html">actionSubmit</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/actionSubmitImage.html">actionSubmitImage</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/applyLayout.html">applyLayout</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/checkBox.html">checkBox</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/collect.html">collect</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/cookie.html">cookie</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/country.html">country</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/countrySelect.html">countrySelect</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/createLink.html">createLink</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/createLinkTo.html">createLinkTo</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/currencySelect.html">currencySelect</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/datePicker.html">datePicker</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/each.html">each</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/eachError.html">eachError</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/else.html">else</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/elseif.html">elseif</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/external.html">external</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/field.html">field</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/fieldError.html">fieldError</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/fieldValue.html">fieldValue</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/findAll.html">findAll</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/form.html">form</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/formActionSubmit.html">formActionSubmit</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/formatBoolean.html">formatBoolean</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/formatDate.html">formatDate</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/formatNumber.html">formatNumber</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/grep.html">grep</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/hasErrors.html">hasErrors</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/header.html">header</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/hiddenField.html">hiddenField</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/if.html">if</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/img.html">img</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/include.html">include</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/isAvailable.html">isAvailable</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/isNotAvailable.html">isNotAvailable</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/javascript.html">javascript</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/join.html">join</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/layoutBody.html">layoutBody</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/layoutHead.html">layoutHead</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/layoutTitle.html">layoutTitle</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/link.html">link</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/localeSelect.html">localeSelect</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/message.html">message</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/meta.html">meta</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/pageProperty.html">pageProperty</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/paginate.html">paginate</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/passwordField.html">passwordField</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/radio.html">radio</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/radioGroup.html">radioGroup</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/render.html">render</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/renderErrors.html">renderErrors</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/resource.html">resource</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/select.html">select</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/set.html">set</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/sortableColumn.html">sortableColumn</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/submitButton.html">submitButton</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/textArea.html">textArea</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/textField.html">textField</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/timeZoneSelect.html">timeZoneSelect</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/unless.html">unless</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/uploadForm.html">uploadForm</a>
</div>
<div class="menu-item"><a href="../../ref/Tags%20-%20GSP/while.html">while</a>
</div>
</div>
</div>
<div class="menu-block">
<h1 class="menu-title" onclick="toggleRef(nextElement(this))">Versions</h1>
<div class="menu-sub">
<div class="menu-item"><a href="../../ref/Versions/Grails%20BOM.html">Grails BOM</a>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
</table>
<div id="footer">
Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.
</div>
<script type="text/javascript" src="../../js/docs.js"></script>
</body>
</html>