Class SpringStandardDialect
- Object
-
- org.thymeleaf.dialect.AbstractDialect
-
- org.thymeleaf.dialect.AbstractProcessorDialect
-
- org.thymeleaf.standard.StandardDialect
-
- org.thymeleaf.spring5.dialect.SpringStandardDialect
-
- All Implemented Interfaces:
org.thymeleaf.dialect.IDialect,org.thymeleaf.dialect.IExecutionAttributeDialect,org.thymeleaf.dialect.IExpressionObjectDialect,org.thymeleaf.dialect.IProcessorDialect
public class SpringStandardDialect extends org.thymeleaf.standard.StandardDialectSpringStandard 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, liketh:fieldor Spring-related expression objects.The usual and recommended way of using this dialect is by instancing
SpringTemplateEngineinstead ofTemplateEngine. 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
Fields Modifier and Type Field Description static booleanDEFAULT_ENABLE_SPRING_EL_COMPILERstatic booleanDEFAULT_RENDER_HIDDEN_MARKERS_BEFORE_CHECKBOXESstatic StringNAMEstatic StringPREFIXstatic intPROCESSOR_PRECEDENCE
-
Constructor Summary
Constructors Constructor Description SpringStandardDialect()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Set<org.thymeleaf.processor.IProcessor>createSpringStandardProcessorsSet(String dialectPrefix)Create a the set of SpringStandard processors, all of them freshly instanced.static Set<org.thymeleaf.processor.IProcessor>createSpringStandardProcessorsSet(String dialectPrefix, boolean renderHiddenMarkersBeforeCheckboxes)Create a the set of SpringStandard processors, all of them freshly instanced.org.thymeleaf.standard.expression.IStandardConversionServicegetConversionService()booleangetEnableSpringELCompiler()Returns whether the SpringEL compiler should be enabled in SpringEL expressions or not.Map<String,Object>getExecutionAttributes()org.thymeleaf.expression.IExpressionObjectFactorygetExpressionObjectFactory()Set<org.thymeleaf.processor.IProcessor>getProcessors(String dialectPrefix)booleangetRenderHiddenMarkersBeforeCheckboxes()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).org.thymeleaf.standard.expression.IStandardVariableExpressionEvaluatorgetVariableExpressionEvaluator()voidsetEnableSpringELCompiler(boolean enableSpringELCompiler)Sets whether the SpringEL compiler should be enabled in SpringEL expressions or not.voidsetRenderHiddenMarkersBeforeCheckboxes(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).-
Methods inherited from class org.thymeleaf.standard.StandardDialect
createStandardProcessorsSet, getCSSSerializer, getExpressionParser, getJavaScriptSerializer, setConversionService, setCSSSerializer, setExpressionParser, setJavaScriptSerializer, setVariableExpressionEvaluator
-
Methods inherited from class org.thymeleaf.dialect.AbstractProcessorDialect
getDialectProcessorPrecedence, getPrefix
-
-
-
-
Field Detail
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
PREFIX
public static final String PREFIX
- See Also:
- Constant Field Values
-
PROCESSOR_PRECEDENCE
public static final int PROCESSOR_PRECEDENCE
- See Also:
- Constant Field Values
-
DEFAULT_ENABLE_SPRING_EL_COMPILER
public static final boolean DEFAULT_ENABLE_SPRING_EL_COMPILER
- See Also:
- Constant Field Values
-
DEFAULT_RENDER_HIDDEN_MARKERS_BEFORE_CHECKBOXES
public static final boolean DEFAULT_RENDER_HIDDEN_MARKERS_BEFORE_CHECKBOXES
- See Also:
- Constant Field Values
-
-
Method Detail
-
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
falseby default.- Returns:
trueif SpEL expressions should be compiled if possible,falseif 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
falseby default.- Parameters:
enableSpringELCompiler-trueif SpEL expressions should be compiled if possible,falseif 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
falseby default.- Returns:
trueif hidden markers should be rendered before the checkboxes,falseif 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
falseby default.- Parameters:
renderHiddenMarkersBeforeCheckboxes-trueif hidden markers should be rendered before the checkboxes,falseif not.- Since:
- 3.0.10
-
getVariableExpressionEvaluator
public org.thymeleaf.standard.expression.IStandardVariableExpressionEvaluator getVariableExpressionEvaluator()
- Overrides:
getVariableExpressionEvaluatorin classorg.thymeleaf.standard.StandardDialect
-
getConversionService
public org.thymeleaf.standard.expression.IStandardConversionService getConversionService()
- Overrides:
getConversionServicein classorg.thymeleaf.standard.StandardDialect
-
getExpressionObjectFactory
public org.thymeleaf.expression.IExpressionObjectFactory getExpressionObjectFactory()
- Specified by:
getExpressionObjectFactoryin interfaceorg.thymeleaf.dialect.IExpressionObjectDialect- Overrides:
getExpressionObjectFactoryin classorg.thymeleaf.standard.StandardDialect
-
getProcessors
public Set<org.thymeleaf.processor.IProcessor> getProcessors(String dialectPrefix)
- Specified by:
getProcessorsin interfaceorg.thymeleaf.dialect.IProcessorDialect- Overrides:
getProcessorsin classorg.thymeleaf.standard.StandardDialect
-
getExecutionAttributes
public Map<String,Object> getExecutionAttributes()
- Specified by:
getExecutionAttributesin interfaceorg.thymeleaf.dialect.IExecutionAttributeDialect- Overrides:
getExecutionAttributesin classorg.thymeleaf.standard.StandardDialect
-
createSpringStandardProcessorsSet
public static Set<org.thymeleaf.processor.IProcessor> createSpringStandardProcessorsSet(String dialectPrefix)
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<org.thymeleaf.processor.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-trueif hidden markers should be rendered before the checkboxes,falseif not.- Returns:
- the set of SpringStandard processors.
- Since:
- 3.0.10
-
-