With the old FTL syntax the # was not
        required (prior 2.1 not even allowed) in the FTL tags. For example,
        you could write this:
<html>
<head>
  <title>Welcome!</title>
</head>
<body>
  <h1>Welcome ${user}!</h1>
  <p>We have there animals:
  <ul>
  <list animals as animal>
    <li>${animal.name} for ${animal.price} Euros
  </list>
  </ul>
  <include "common_footer.html">
</body>
</html>    While the #-less syntax was more natural for
        HTML authors, it had too many drawbacks, so finally we have decided to
        deprecate it. With the newer syntax (a.k.a "strict
        syntax"), the # is strictly required. That
        is, things like <include
        "common_footer.html"> will go to the output as is, since
        they are not considered as FTL tags. Note that user-defined directives
        use @ instead of
        #.
However, to give users time to prepare for this change, in
        FreeMarker 2.1 and 2.2 the usage of # is optional,
        unless the programmer enables strict syntax mode in the FreeMarker
        configuration by calling setStrictSyntaxMode(true)
        on Configuration. In fact, we strongly recommend
        this to programmers. Starting from some later release this setting
        will be initially set to true. Also, you can
        specify if you want to use strict syntax or old syntax in the template
        files with the ftl
        directive.
The advantages of "strict syntax" over the legacy FTL syntax are:
- 
            
Since all
<#...>and</#...>are reserved for FTL:- 
                
We can introduce new directives without breaking backward compatibility.
 - 
                
We can detect if you made a typo, i.e.
<#inculde ...>is treated as parse-time error, rather than silently treated as simple text. - 
                
It is easier for third-party tools to handle templates (e.g. do syntax highlighting), especially since they don't have to know about the new directives introduced with new releases.
 - 
                
Templates are more readable, since it is easier to spot
<#...>tags embedded into HTML or other markup. 
 - 
                
 - 
            
<#and</#is illegal XML (except in CDATA sections), and illegal in almost all other SGML applications, so they can't interfere with the tags used in the static text parts (e.g. if you haveincludeelement in the generated XML). 
