Class SpringStandardDialect

Object
org.thymeleaf.dialect.AbstractDialect
org.thymeleaf.dialect.AbstractProcessorDialect
org.thymeleaf.standard.StandardDialect
org.thymeleaf.spring6.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.StandardDialect

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

    Fields
    Modifier and Type
    Field
    Description
    static 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Set<org.thymeleaf.processor.IProcessor>
    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.IStandardConversionService
     
    boolean
    Returns whether the SpringEL compiler should be enabled in SpringEL expressions or not.
     
    org.thymeleaf.expression.IExpressionObjectFactory
     
    Set<org.thymeleaf.processor.IProcessor>
    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).
    org.thymeleaf.standard.expression.IStandardVariableExpressionEvaluator
     
    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(org.thymeleaf.standard.expression.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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.thymeleaf.dialect.IDialect

    getName
  • Field Details

  • 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

      public org.thymeleaf.standard.expression.IStandardVariableExpressionEvaluator getVariableExpressionEvaluator()
      Overrides:
      getVariableExpressionEvaluator in class org.thymeleaf.standard.StandardDialect
    • setVariableExpressionEvaluator

      public void setVariableExpressionEvaluator(org.thymeleaf.standard.expression.IStandardVariableExpressionEvaluator variableExpressionEvaluator)
      Overrides:
      setVariableExpressionEvaluator in class org.thymeleaf.standard.StandardDialect
    • getConversionService

      public org.thymeleaf.standard.expression.IStandardConversionService getConversionService()
      Overrides:
      getConversionService in class org.thymeleaf.standard.StandardDialect
    • getExpressionObjectFactory

      public org.thymeleaf.expression.IExpressionObjectFactory getExpressionObjectFactory()
      Specified by:
      getExpressionObjectFactory in interface org.thymeleaf.dialect.IExpressionObjectDialect
      Overrides:
      getExpressionObjectFactory in class org.thymeleaf.standard.StandardDialect
    • getProcessors

      public Set<org.thymeleaf.processor.IProcessor> getProcessors(String dialectPrefix)
      Specified by:
      getProcessors in interface org.thymeleaf.dialect.IProcessorDialect
      Overrides:
      getProcessors in class org.thymeleaf.standard.StandardDialect
    • getExecutionAttributes

      public Map<String,Object> getExecutionAttributes()
      Specified by:
      getExecutionAttributes in interface org.thymeleaf.dialect.IExecutionAttributeDialect
      Overrides:
      getExecutionAttributes in class org.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 initialization
      renderHiddenMarkersBeforeCheckboxes - true if hidden markers should be rendered before the checkboxes, false if not.
      Returns:
      the set of SpringStandard processors.
      Since:
      3.0.10