[[appendix.application-properties.templating]]
== Templating Properties
[cols="4,3,3", options="header"]
|===
|Name|Description|Default Value

|[[application-properties.templating.spring.freemarker.allow-request-override]]xref:#application-properties.templating.spring.freemarker.allow-request-override[`+spring.freemarker.allow-request-override+`]
|+++Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.+++
|`+false+`

|[[application-properties.templating.spring.freemarker.allow-session-override]]xref:#application-properties.templating.spring.freemarker.allow-session-override[`+spring.freemarker.allow-session-override+`]
|+++Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.+++
|`+false+`

|[[application-properties.templating.spring.freemarker.cache]]xref:#application-properties.templating.spring.freemarker.cache[`+spring.freemarker.cache+`]
|+++Whether to enable template caching.+++
|`+false+`

|[[application-properties.templating.spring.freemarker.charset]]xref:#application-properties.templating.spring.freemarker.charset[`+spring.freemarker.charset+`]
|+++Template encoding.+++
|`+UTF-8+`

|[[application-properties.templating.spring.freemarker.check-template-location]]xref:#application-properties.templating.spring.freemarker.check-template-location[`+spring.freemarker.check-template-location+`]
|+++Whether to check that the templates location exists.+++
|`+true+`

|[[application-properties.templating.spring.freemarker.content-type]]xref:#application-properties.templating.spring.freemarker.content-type[`+spring.freemarker.content-type+`]
|+++Content-Type value.+++
|`+text/html+`

|[[application-properties.templating.spring.freemarker.enabled]]xref:#application-properties.templating.spring.freemarker.enabled[`+spring.freemarker.enabled+`]
|+++Whether to enable MVC view resolution for this technology.+++
|`+true+`

|[[application-properties.templating.spring.freemarker.expose-request-attributes]]xref:#application-properties.templating.spring.freemarker.expose-request-attributes[`+spring.freemarker.expose-request-attributes+`]
|+++Whether all request attributes should be added to the model prior to merging with the template.+++
|`+false+`

|[[application-properties.templating.spring.freemarker.expose-session-attributes]]xref:#application-properties.templating.spring.freemarker.expose-session-attributes[`+spring.freemarker.expose-session-attributes+`]
|+++Whether all HttpSession attributes should be added to the model prior to merging with the template.+++
|`+false+`

|[[application-properties.templating.spring.freemarker.expose-spring-macro-helpers]]xref:#application-properties.templating.spring.freemarker.expose-spring-macro-helpers[`+spring.freemarker.expose-spring-macro-helpers+`]
|+++Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".+++
|`+true+`

|[[application-properties.templating.spring.freemarker.prefer-file-system-access]]xref:#application-properties.templating.spring.freemarker.prefer-file-system-access[`+spring.freemarker.prefer-file-system-access+`]
|+++Whether to prefer file system access for template loading to enable hot detection of template changes. When a template path is detected as a directory, templates are loaded from the directory only and other matching classpath locations will not be considered.+++
|`+false+`

|[[application-properties.templating.spring.freemarker.prefix]]xref:#application-properties.templating.spring.freemarker.prefix[`+spring.freemarker.prefix+`]
|+++Prefix that gets prepended to view names when building a URL.+++
|

|[[application-properties.templating.spring.freemarker.request-context-attribute]]xref:#application-properties.templating.spring.freemarker.request-context-attribute[`+spring.freemarker.request-context-attribute+`]
|+++Name of the RequestContext attribute for all views.+++
|

|[[application-properties.templating.spring.freemarker.settings]]xref:#application-properties.templating.spring.freemarker.settings[`+spring.freemarker.settings.*+`]
|+++Well-known FreeMarker keys which are passed to FreeMarker's Configuration.+++
|

|[[application-properties.templating.spring.freemarker.suffix]]xref:#application-properties.templating.spring.freemarker.suffix[`+spring.freemarker.suffix+`]
|+++Suffix that gets appended to view names when building a URL.+++
|`+.ftlh+`

|[[application-properties.templating.spring.freemarker.template-loader-path]]xref:#application-properties.templating.spring.freemarker.template-loader-path[`+spring.freemarker.template-loader-path+`]
|+++Comma-separated list of template paths.+++
|`+[classpath:/templates/]+`

|[[application-properties.templating.spring.freemarker.view-names]]xref:#application-properties.templating.spring.freemarker.view-names[`+spring.freemarker.view-names+`]
|+++View names that can be resolved.+++
|

|[[application-properties.templating.spring.groovy.template.allow-request-override]]xref:#application-properties.templating.spring.groovy.template.allow-request-override[`+spring.groovy.template.allow-request-override+`]
|+++Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.+++
|`+false+`

|[[application-properties.templating.spring.groovy.template.allow-session-override]]xref:#application-properties.templating.spring.groovy.template.allow-session-override[`+spring.groovy.template.allow-session-override+`]
|+++Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.+++
|`+false+`

|[[application-properties.templating.spring.groovy.template.cache]]xref:#application-properties.templating.spring.groovy.template.cache[`+spring.groovy.template.cache+`]
|+++Whether to enable template caching.+++
|`+false+`

|[[application-properties.templating.spring.groovy.template.charset]]xref:#application-properties.templating.spring.groovy.template.charset[`+spring.groovy.template.charset+`]
|+++Template encoding.+++
|`+UTF-8+`

|[[application-properties.templating.spring.groovy.template.check-template-location]]xref:#application-properties.templating.spring.groovy.template.check-template-location[`+spring.groovy.template.check-template-location+`]
|+++Whether to check that the templates location exists.+++
|`+true+`

|[[application-properties.templating.spring.groovy.template.configuration]]xref:#application-properties.templating.spring.groovy.template.configuration[`+spring.groovy.template.configuration.auto-escape+` +
`+spring.groovy.template.configuration.auto-indent+` +
`+spring.groovy.template.configuration.auto-indent-string+` +
`+spring.groovy.template.configuration.auto-new-line+` +
`+spring.groovy.template.configuration.base-template-class+` +
`+spring.groovy.template.configuration.cache-templates+` +
`+spring.groovy.template.configuration.declaration-encoding+` +
`+spring.groovy.template.configuration.expand-empty-elements+` +
`+spring.groovy.template.configuration.locale+` +
`+spring.groovy.template.configuration.new-line-string+` +
`+spring.groovy.template.configuration.resource-loader-path+` +
`+spring.groovy.template.configuration.use-double-quotes+` +
]
|+++See GroovyMarkupConfigurer+++
|

|[[application-properties.templating.spring.groovy.template.content-type]]xref:#application-properties.templating.spring.groovy.template.content-type[`+spring.groovy.template.content-type+`]
|+++Content-Type value.+++
|`+text/html+`

|[[application-properties.templating.spring.groovy.template.enabled]]xref:#application-properties.templating.spring.groovy.template.enabled[`+spring.groovy.template.enabled+`]
|+++Whether to enable MVC view resolution for this technology.+++
|`+true+`

|[[application-properties.templating.spring.groovy.template.expose-request-attributes]]xref:#application-properties.templating.spring.groovy.template.expose-request-attributes[`+spring.groovy.template.expose-request-attributes+`]
|+++Whether all request attributes should be added to the model prior to merging with the template.+++
|`+false+`

|[[application-properties.templating.spring.groovy.template.expose-session-attributes]]xref:#application-properties.templating.spring.groovy.template.expose-session-attributes[`+spring.groovy.template.expose-session-attributes+`]
|+++Whether all HttpSession attributes should be added to the model prior to merging with the template.+++
|`+false+`

|[[application-properties.templating.spring.groovy.template.expose-spring-macro-helpers]]xref:#application-properties.templating.spring.groovy.template.expose-spring-macro-helpers[`+spring.groovy.template.expose-spring-macro-helpers+`]
|+++Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".+++
|`+true+`

|[[application-properties.templating.spring.groovy.template.prefix]]xref:#application-properties.templating.spring.groovy.template.prefix[`+spring.groovy.template.prefix+`]
|+++Prefix that gets prepended to view names when building a URL.+++
|

|[[application-properties.templating.spring.groovy.template.request-context-attribute]]xref:#application-properties.templating.spring.groovy.template.request-context-attribute[`+spring.groovy.template.request-context-attribute+`]
|+++Name of the RequestContext attribute for all views.+++
|

|[[application-properties.templating.spring.groovy.template.resource-loader-path]]xref:#application-properties.templating.spring.groovy.template.resource-loader-path[`+spring.groovy.template.resource-loader-path+`]
|+++Template path.+++
|`+classpath:/templates/+`

|[[application-properties.templating.spring.groovy.template.suffix]]xref:#application-properties.templating.spring.groovy.template.suffix[`+spring.groovy.template.suffix+`]
|+++Suffix that gets appended to view names when building a URL.+++
|`+.tpl+`

|[[application-properties.templating.spring.groovy.template.view-names]]xref:#application-properties.templating.spring.groovy.template.view-names[`+spring.groovy.template.view-names+`]
|+++View names that can be resolved.+++
|

|[[application-properties.templating.spring.mustache.charset]]xref:#application-properties.templating.spring.mustache.charset[`+spring.mustache.charset+`]
|+++Template encoding.+++
|`+UTF-8+`

|[[application-properties.templating.spring.mustache.check-template-location]]xref:#application-properties.templating.spring.mustache.check-template-location[`+spring.mustache.check-template-location+`]
|+++Whether to check that the templates location exists.+++
|`+true+`

|[[application-properties.templating.spring.mustache.enabled]]xref:#application-properties.templating.spring.mustache.enabled[`+spring.mustache.enabled+`]
|+++Whether to enable MVC view resolution for Mustache.+++
|`+true+`

|[[application-properties.templating.spring.mustache.prefix]]xref:#application-properties.templating.spring.mustache.prefix[`+spring.mustache.prefix+`]
|+++Prefix to apply to template names.+++
|`+classpath:/templates/+`

|[[application-properties.templating.spring.mustache.reactive.media-types]]xref:#application-properties.templating.spring.mustache.reactive.media-types[`+spring.mustache.reactive.media-types+`]
|+++Media types supported by Mustache views.+++
|`+text/html;charset=UTF-8+`

|[[application-properties.templating.spring.mustache.request-context-attribute]]xref:#application-properties.templating.spring.mustache.request-context-attribute[`+spring.mustache.request-context-attribute+`]
|+++Name of the RequestContext attribute for all views.+++
|

|[[application-properties.templating.spring.mustache.servlet.allow-request-override]]xref:#application-properties.templating.spring.mustache.servlet.allow-request-override[`+spring.mustache.servlet.allow-request-override+`]
|+++Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.+++
|`+false+`

|[[application-properties.templating.spring.mustache.servlet.allow-session-override]]xref:#application-properties.templating.spring.mustache.servlet.allow-session-override[`+spring.mustache.servlet.allow-session-override+`]
|+++Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.+++
|`+false+`

|[[application-properties.templating.spring.mustache.servlet.cache]]xref:#application-properties.templating.spring.mustache.servlet.cache[`+spring.mustache.servlet.cache+`]
|+++Whether to enable template caching.+++
|`+false+`

|[[application-properties.templating.spring.mustache.servlet.content-type]]xref:#application-properties.templating.spring.mustache.servlet.content-type[`+spring.mustache.servlet.content-type+`]
|+++Content-Type value.+++
|

|[[application-properties.templating.spring.mustache.servlet.expose-request-attributes]]xref:#application-properties.templating.spring.mustache.servlet.expose-request-attributes[`+spring.mustache.servlet.expose-request-attributes+`]
|+++Whether all request attributes should be added to the model prior to merging with the template.+++
|`+false+`

|[[application-properties.templating.spring.mustache.servlet.expose-session-attributes]]xref:#application-properties.templating.spring.mustache.servlet.expose-session-attributes[`+spring.mustache.servlet.expose-session-attributes+`]
|+++Whether all HttpSession attributes should be added to the model prior to merging with the template.+++
|`+false+`

|[[application-properties.templating.spring.mustache.servlet.expose-spring-macro-helpers]]xref:#application-properties.templating.spring.mustache.servlet.expose-spring-macro-helpers[`+spring.mustache.servlet.expose-spring-macro-helpers+`]
|+++Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".+++
|`+true+`

|[[application-properties.templating.spring.mustache.suffix]]xref:#application-properties.templating.spring.mustache.suffix[`+spring.mustache.suffix+`]
|+++Suffix to apply to template names.+++
|`+.mustache+`

|[[application-properties.templating.spring.mustache.view-names]]xref:#application-properties.templating.spring.mustache.view-names[`+spring.mustache.view-names+`]
|+++View names that can be resolved.+++
|

|[[application-properties.templating.spring.thymeleaf.cache]]xref:#application-properties.templating.spring.thymeleaf.cache[`+spring.thymeleaf.cache+`]
|+++Whether to enable template caching.+++
|`+true+`

|[[application-properties.templating.spring.thymeleaf.check-template]]xref:#application-properties.templating.spring.thymeleaf.check-template[`+spring.thymeleaf.check-template+`]
|+++Whether to check that the template exists before rendering it.+++
|`+true+`

|[[application-properties.templating.spring.thymeleaf.check-template-location]]xref:#application-properties.templating.spring.thymeleaf.check-template-location[`+spring.thymeleaf.check-template-location+`]
|+++Whether to check that the templates location exists.+++
|`+true+`

|[[application-properties.templating.spring.thymeleaf.enable-spring-el-compiler]]xref:#application-properties.templating.spring.thymeleaf.enable-spring-el-compiler[`+spring.thymeleaf.enable-spring-el-compiler+`]
|+++Enable the SpringEL compiler in SpringEL expressions.+++
|`+false+`

|[[application-properties.templating.spring.thymeleaf.enabled]]xref:#application-properties.templating.spring.thymeleaf.enabled[`+spring.thymeleaf.enabled+`]
|+++Whether to enable Thymeleaf view resolution for Web frameworks.+++
|`+true+`

|[[application-properties.templating.spring.thymeleaf.encoding]]xref:#application-properties.templating.spring.thymeleaf.encoding[`+spring.thymeleaf.encoding+`]
|+++Template files encoding.+++
|`+UTF-8+`

|[[application-properties.templating.spring.thymeleaf.excluded-view-names]]xref:#application-properties.templating.spring.thymeleaf.excluded-view-names[`+spring.thymeleaf.excluded-view-names+`]
|+++Comma-separated list of view names (patterns allowed) that should be excluded from resolution.+++
|

|[[application-properties.templating.spring.thymeleaf.mode]]xref:#application-properties.templating.spring.thymeleaf.mode[`+spring.thymeleaf.mode+`]
|+++Template mode to be applied to templates. See also Thymeleaf's TemplateMode enum.+++
|`+HTML+`

|[[application-properties.templating.spring.thymeleaf.prefix]]xref:#application-properties.templating.spring.thymeleaf.prefix[`+spring.thymeleaf.prefix+`]
|+++Prefix that gets prepended to view names when building a URL.+++
|`+classpath:/templates/+`

|[[application-properties.templating.spring.thymeleaf.reactive.chunked-mode-view-names]]xref:#application-properties.templating.spring.thymeleaf.reactive.chunked-mode-view-names[`+spring.thymeleaf.reactive.chunked-mode-view-names+`]
|+++Comma-separated list of view names (patterns allowed) that should be the only ones executed in CHUNKED mode when a max chunk size is set.+++
|

|[[application-properties.templating.spring.thymeleaf.reactive.full-mode-view-names]]xref:#application-properties.templating.spring.thymeleaf.reactive.full-mode-view-names[`+spring.thymeleaf.reactive.full-mode-view-names+`]
|+++Comma-separated list of view names (patterns allowed) that should be executed in FULL mode even if a max chunk size is set.+++
|

|[[application-properties.templating.spring.thymeleaf.reactive.max-chunk-size]]xref:#application-properties.templating.spring.thymeleaf.reactive.max-chunk-size[`+spring.thymeleaf.reactive.max-chunk-size+`]
|+++Maximum size of data buffers used for writing to the response. Templates will execute in CHUNKED mode by default if this is set.+++
|`+0B+`

|[[application-properties.templating.spring.thymeleaf.reactive.media-types]]xref:#application-properties.templating.spring.thymeleaf.reactive.media-types[`+spring.thymeleaf.reactive.media-types+`]
|+++Media types supported by the view technology.+++
|`+[text/html, application/xhtml+xml, application/xml, text/xml, application/rss+xml, application/atom+xml, application/javascript, application/ecmascript, text/javascript, text/ecmascript, application/json, text/css, text/plain, text/event-stream]+`

|[[application-properties.templating.spring.thymeleaf.render-hidden-markers-before-checkboxes]]xref:#application-properties.templating.spring.thymeleaf.render-hidden-markers-before-checkboxes[`+spring.thymeleaf.render-hidden-markers-before-checkboxes+`]
|+++Whether hidden form inputs acting as markers for checkboxes should be rendered before the checkbox element itself.+++
|`+false+`

|[[application-properties.templating.spring.thymeleaf.servlet.content-type]]xref:#application-properties.templating.spring.thymeleaf.servlet.content-type[`+spring.thymeleaf.servlet.content-type+`]
|+++Content-Type value written to HTTP responses.+++
|`+text/html+`

|[[application-properties.templating.spring.thymeleaf.servlet.produce-partial-output-while-processing]]xref:#application-properties.templating.spring.thymeleaf.servlet.produce-partial-output-while-processing[`+spring.thymeleaf.servlet.produce-partial-output-while-processing+`]
|+++Whether Thymeleaf should start writing partial output as soon as possible or buffer until template processing is finished.+++
|`+true+`

|[[application-properties.templating.spring.thymeleaf.suffix]]xref:#application-properties.templating.spring.thymeleaf.suffix[`+spring.thymeleaf.suffix+`]
|+++Suffix that gets appended to view names when building a URL.+++
|`+.html+`

|[[application-properties.templating.spring.thymeleaf.template-resolver-order]]xref:#application-properties.templating.spring.thymeleaf.template-resolver-order[`+spring.thymeleaf.template-resolver-order+`]
|+++Order of the template resolver in the chain. By default, the template resolver is first in the chain. Order start at 1 and should only be set if you have defined additional "TemplateResolver" beans.+++
|

|[[application-properties.templating.spring.thymeleaf.view-names]]xref:#application-properties.templating.spring.thymeleaf.view-names[`+spring.thymeleaf.view-names+`]
|+++Comma-separated list of view names (patterns allowed) that can be resolved.+++
|

|===
