anchor.diff:  = View Technologies
   [.small]#<<web-reactive.adoc#webflux-view, WebFlux>>#
   
  -The use of view technologies in Spring MVC is pluggable, whether you decide to use
  -Thymeleaf, Groovy Markup Templates, JSPs, or other technologies, is primarily a matter
  -of a configuration change. This chapter covers view technologies integrated with
  -Spring MVC. We assume you are already familiar with <<mvc-viewresolver>>.
  -
  -WARNING: The views of a Spring MVC application live within the internal trust boundaries of that
  -application.
  -Views have access to all the beans of your application context.
  -As such, it is not recommended to use Spring MVC's template support in applications where the
  -templates are editable by external sources, since this can have security implications.
  +The use of view technologies in Spring MVC is pluggable. Whether you decide to use
  +Thymeleaf, Groovy Markup Templates, JSPs, or other technologies is primarily a matter of
  +a configuration change. This chapter covers view technologies integrated with Spring MVC.
  +We assume you are already familiar with <<mvc-viewresolver>>.
  +
  +WARNING: The views of a Spring MVC application live within the internal trust boundaries
  +of that application. Views have access to all the beans of your application context. As
  +such, it is not recommended to use Spring MVC's template support in applications where
  +the templates are editable by external sources, since this can have security implications.
   
   [[mvc-view-thymeleaf]]
   == Thymeleaf
  
positive.code: templates that can be previewed in a browser by double-clicking, which is very helpful
  for independent work on UI templates (for example, by a designer) without the need for
  a running server. If you want to replace JSPs, Thymeleaf offers one of the most
  extensive set of features to make such a transition easier. Thymeleaf is actively
  developed and maintained. For a more complete introduction, see the
  https://www.thymeleaf.org/[Thymeleaf] project home page.
  
  
negative.code: separate multiple errors on a given field) and also accepts a second parameter -- this
  time, a class name or style attribute. Note that FreeMarker can specify default
  values for the attributes parameter. The following example shows how to use the `formInput`
  and `showErrors` macros:
  
  [source,xml,indent=0,subs="verbatim,quotes"]
  ----
  