Class SpringStandardDialect
- All Implemented Interfaces:
IDialect
,IExecutionAttributeDialect
,IExpressionObjectDialect
,IProcessorDialect
SpringStandard Dialect. This is the class containing the implementation of Thymeleaf Standard Dialect, including all
th:*
processors, expression objects, etc. for Spring-enabled environments.
This dialect is valid both for Spring WebMVC and Spring WebFlux environments.
Note this dialect uses SpringEL as an expression language and adds some Spring-specific
features on top of StandardDialect
, like th:field
or Spring-related expression objects.
The usual and recommended way of using this dialect is by instancing SpringTemplateEngine
instead of TemplateEngine
. The former will automatically add this dialect and perform
some specific configuration like e.g. Spring-integrated message resolution.
Note a class with this name existed since 1.0, but it was completely reimplemented in Thymeleaf 3.0
- Since:
- 3.0.3
- Author:
- Daniel Fernández
-
Field Summary
Modifier and TypeFieldDescriptionstatic final boolean
static final boolean
static final String
static final String
static final int
Fields inherited from class org.thymeleaf.standard.StandardDialect
conversionService, cssSerializer, expressionObjectFactory, expressionParser, javaScriptSerializer, variableExpressionEvaluator
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Set<IProcessor>
createSpringStandardProcessorsSet
(String dialectPrefix) Create a the set of SpringStandard processors, all of them freshly instanced.static Set<IProcessor>
createSpringStandardProcessorsSet
(String dialectPrefix, boolean renderHiddenMarkersBeforeCheckboxes) Create a the set of SpringStandard processors, all of them freshly instanced.boolean
Returns whether the SpringEL compiler should be enabled in SpringEL expressions or not.getProcessors
(String dialectPrefix) boolean
Returns whether the<input type="hidden" ...>
marker tags rendered to signal the presence of checkboxes in forms when unchecked should be rendered before the checkbox tag itself, or after (default).void
setEnableSpringELCompiler
(boolean enableSpringELCompiler) Sets whether the SpringEL compiler should be enabled in SpringEL expressions or not.void
setRenderHiddenMarkersBeforeCheckboxes
(boolean renderHiddenMarkersBeforeCheckboxes) Sets whether the<input type="hidden" ...>
marker tags rendered to signal the presence of checkboxes in forms when unchecked should be rendered before the checkbox tag itself, or after (default).void
setVariableExpressionEvaluator
(IStandardVariableExpressionEvaluator variableExpressionEvaluator) Methods inherited from class org.thymeleaf.standard.StandardDialect
createStandardProcessorsSet, getCSSSerializer, getExpressionParser, getJavaScriptSerializer, setConversionService, setCSSSerializer, setExpressionParser, setJavaScriptSerializer
Methods inherited from class org.thymeleaf.dialect.AbstractProcessorDialect
getDialectProcessorPrecedence, getPrefix
Methods inherited from class org.thymeleaf.dialect.AbstractDialect
getName
-
Field Details
-
NAME
- See Also:
-
PREFIX
- See Also:
-
PROCESSOR_PRECEDENCE
public static final int PROCESSOR_PRECEDENCE- See Also:
-
DEFAULT_ENABLE_SPRING_EL_COMPILER
public static final boolean DEFAULT_ENABLE_SPRING_EL_COMPILER- See Also:
-
DEFAULT_RENDER_HIDDEN_MARKERS_BEFORE_CHECKBOXES
public static final boolean DEFAULT_RENDER_HIDDEN_MARKERS_BEFORE_CHECKBOXES- See Also:
-
-
Constructor Details
-
SpringStandardDialect
public SpringStandardDialect()
-
-
Method Details
-
getEnableSpringELCompiler
public boolean getEnableSpringELCompiler()Returns whether the SpringEL compiler should be enabled in SpringEL expressions or not.
Expression compilation can significantly improve the performance of Spring EL expressions, but might not be adequate for every environment. Read the official Spring documentation for more detail.
Also note that although Spring includes a SpEL compiler since Spring 4.1, most expressions in Thymeleaf templates will only be able to properly benefit from this compilation step when at least Spring Framework version 4.2.4 is used.
This flag is set to
false
by default.- Returns:
true
if SpEL expressions should be compiled if possible,false
if not.
-
setEnableSpringELCompiler
public void setEnableSpringELCompiler(boolean enableSpringELCompiler) Sets whether the SpringEL compiler should be enabled in SpringEL expressions or not.
Expression compilation can significantly improve the performance of Spring EL expressions, but might not be adequate for every environment. Read the official Spring documentation for more detail.
Also note that although Spring includes a SpEL compiler since Spring 4.1, most expressions in Thymeleaf templates will only be able to properly benefit from this compilation step when at least Spring Framework version 4.2.4 is used.
This flag is set to
false
by default.- Parameters:
enableSpringELCompiler
-true
if SpEL expressions should be compiled if possible,false
if not.
-
getRenderHiddenMarkersBeforeCheckboxes
public boolean getRenderHiddenMarkersBeforeCheckboxes()Returns whether the
<input type="hidden" ...>
marker tags rendered to signal the presence of checkboxes in forms when unchecked should be rendered before the checkbox tag itself, or after (default).A number of CSS frameworks and style guides assume that the
<label ...>
for a checkbox will appear in markup just after the<input type="checkbox" ...>
tag itself, and so the default behaviour of rendering an<input type="hidden" ...>
after the checkbox can lead to bad application of styles. By tuning this flag, developers can modify this behaviour and make the hidden tag appear before the checkbox (and thus allow the lable to truly appear right after the checkbox).Note this hidden field is introduced in order to signal the existence of the field in the form being sent, even if the checkbox is unchecked (no URL parameter is added for unchecked check boxes).
This flag is set to
false
by default.- Returns:
true
if hidden markers should be rendered before the checkboxes,false
if not.- Since:
- 3.0.10
-
setRenderHiddenMarkersBeforeCheckboxes
public void setRenderHiddenMarkersBeforeCheckboxes(boolean renderHiddenMarkersBeforeCheckboxes) Sets whether the
<input type="hidden" ...>
marker tags rendered to signal the presence of checkboxes in forms when unchecked should be rendered before the checkbox tag itself, or after (default).A number of CSS frameworks and style guides assume that the
<label ...>
for a checkbox will appear in markup just after the<input type="checkbox" ...>
tag itself, and so the default behaviour of rendering an<input type="hidden" ...>
after the checkbox can lead to bad application of styles. By tuning this flag, developers can modify this behaviour and make the hidden tag appear before the checkbox (and thus allow the lable to truly appear right after the checkbox).Note this hidden field is introduced in order to signal the existence of the field in the form being sent, even if the checkbox is unchecked (no URL parameter is added for unchecked check boxes).
This flag is set to
false
by default.- Parameters:
renderHiddenMarkersBeforeCheckboxes
-true
if hidden markers should be rendered before the checkboxes,false
if not.- Since:
- 3.0.10
-
getVariableExpressionEvaluator
- Overrides:
getVariableExpressionEvaluator
in classStandardDialect
-
setVariableExpressionEvaluator
public void setVariableExpressionEvaluator(IStandardVariableExpressionEvaluator variableExpressionEvaluator) - Overrides:
setVariableExpressionEvaluator
in classStandardDialect
-
getConversionService
- Overrides:
getConversionService
in classStandardDialect
-
getExpressionObjectFactory
- Specified by:
getExpressionObjectFactory
in interfaceIExpressionObjectDialect
- Overrides:
getExpressionObjectFactory
in classStandardDialect
-
getProcessors
- Specified by:
getProcessors
in interfaceIProcessorDialect
- Overrides:
getProcessors
in classStandardDialect
-
getExecutionAttributes
- Specified by:
getExecutionAttributes
in interfaceIExecutionAttributeDialect
- Overrides:
getExecutionAttributes
in classStandardDialect
-
createSpringStandardProcessorsSet
Create a the set of SpringStandard processors, all of them freshly instanced.
- Parameters:
dialectPrefix
- the prefix established for the Standard Dialect, needed for initialization- Returns:
- the set of SpringStandard processors.
-
createSpringStandardProcessorsSet
public static Set<IProcessor> createSpringStandardProcessorsSet(String dialectPrefix, boolean renderHiddenMarkersBeforeCheckboxes) Create a the set of SpringStandard processors, all of them freshly instanced.
- Parameters:
dialectPrefix
- the prefix established for the Standard Dialect, needed for initializationrenderHiddenMarkersBeforeCheckboxes
-true
if hidden markers should be rendered before the checkboxes,false
if not.- Returns:
- the set of SpringStandard processors.
- Since:
- 3.0.10
-