blob: af85c92a36ad4504bbf8cbe8e8b097bb03696103 [file] [log] [blame]
<!doctype html>
<!-- Generated by FreeMarker/Docgen from DocBook -->
<html lang="en" class="page-type-section">
<head prefix="og: http://ogp.me/ns#">
<meta charset="utf-8">
<title>2.3.5 - FreeMarker Manual</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="format-detection" content="telephone=no">
<meta property="og:site_name" content="FreeMarker Manual">
<meta property="og:title" content="2.3.5">
<meta property="og:locale" content="en_US">
<meta property="og:url" content="http://example.com/versions_2_3_5.html">
<link rel="canonical" href="http://example.com/versions_2_3_5.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1594338517553">
</head>
<body itemscope itemtype="https://schema.org/Code">
<meta itemprop="url" content="http://example.com/">
<meta itemprop="name" content="FreeMarker Manual">
<!--[if lte IE 9]>
<div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
<![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://example.com" role="banner"> <img itemprop="image" src="logo.png" alt="My Logo">
</a></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">FreeMarker Manual</a><div class="navigation-header"></div></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Versions</span></a></li><li class="step-3" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_5.html"><span itemprop="name">2.3.5</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="ref.html">Reference</a></li><li><a href="app_faq.html">FAQ</a></li><li><a href="preface.html#test_target">Bőregér</a></li></ul></div></div></div> <div class="main-content site-width">
<div class="content-wrapper no-toc">
<div id="table-of-contents-wrapper" class="col-left">
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_6.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_4.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-section1" id="versions_2_3_5" itemprop="headline">2.3.5</h1>
</div></div><div class="page-menu">
<div class="page-menu-title">Page Contents</div>
<ul><li><a class="page-menu-link" href="#autoid_153" data-menu-target="autoid_153">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_154" data-menu-target="autoid_154">Changes on the Java side</a></li></ul> </div><p>Date of release: 2006-03-11</p><p><em>This release was withdrawn because of a serious bug in
it. Please don&#39;t use it! Of course, all new features of it are
included in FreeMarker 2.3.6.</em></p><p>A few new features and several bugfixes.</p>
<h2 class="content-header header-section2" id="autoid_153">Changes on the FTL side</h2>
<ul>
<li>
<p>Bug fixed: <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1435847&amp;group_id=794">[1435847]</a>
Alternative syntax doesn&#39;t work for comments</p>
</li>
<li>
<p>Bug fixed: With the new square bracket syntax, the tag
could be closed with <code class="inline-code">&gt;</code>. Now it can be
closed with <code class="inline-code">]</code> only.</p>
</li>
<li>
<p>Bug fixed: <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1324020&amp;group_id=794">[1324020]</a>
<code class="inline-code">ParseException</code> with the
<code class="inline-code">ftl</code> directive if it wasn&#39;t in its own
line</p>
</li>
<li>
<p>Bug fixed: <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1404033&amp;group_id=794">[1404033]</a>
<code class="inline-code">eval</code> built-in fails with hash
concatenation</p>
</li>
</ul>
<h2 class="content-header header-section2" id="autoid_154">Changes on the Java side</h2>
<ul>
<li>
<p>A new <code class="inline-code">Configuration</code> level setting,
<code class="inline-code">tagSyntax</code> was added. This determines the
syntax of the templates (angle bracket syntax VS <a href="dgui_misc_alternativesyntax.html">square bracket
syntax</a>) that has no <code class="inline-code">ftl</code> directive in
it. So now you can choose to use the new square bracket syntax
by default. However, the recommended is to use auto-detection
(<code class="inline-code">yourConfig.setTagSyntax(Configuration.AUTO_DETECT_TAG_SYNTAX)</code>),
because that will be the default starting from 2.4.
Auto-detection chooses syntax based on the syntax of the first
FreeMarker tag of the template (could be any FreeMarker tag, not
just <code class="inline-code">ftl</code>). Note that as with the previous
version, if a the template uses <code class="inline-code">ftl</code>
directive, then the syntax of the <code class="inline-code">ftl</code>
directive determines the syntax of the template, and the
<code class="inline-code">tagSyntax</code> setting is ignored.</p>
</li>
<li>
<p>Now <code class="inline-code">BeansWrapper</code>,
<code class="inline-code">DefaultObjectWrapper</code> and
<code class="inline-code">SimpleObjectWrapper</code> support lookup with 1
character long strings in <code class="inline-code">Map</code>-s (like
<code class="inline-code">myHash[&quot;a&quot;]</code>) that use
<code class="inline-code">Character</code> keys. Simply, as a special case,
when a hash lookup fails on a string that is 1 character long,
it checks for the <code class="inline-code">Character</code> key in the
underlying map. (Bug tracker entry <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1299045&amp;group_id=794">[1299045]</a>
FreeMarker doesn&#39;t support map lookup with Character
keys.)</p>
</li>
<li>
<p>A new property, <code class="inline-code">strict</code> was added to
<code class="inline-code">BeansWrapper</code>,
<code class="inline-code">DefaultObjectWrapper</code> and
<code class="inline-code">SimpleObjectWrapper</code>. If this property is
<code class="inline-code">true</code> then an attempt to read a bean propertly
in the template (like <code class="inline-code">myBean.aProperty</code>) that
doesn&#39;t exist in the bean class (as opposed to just holding
<code class="inline-code">null</code> value) will cause
<code class="inline-code">InvalidPropertyException</code>, which can&#39;t be
suppressed in the template (not even with
<code class="inline-code">myBean.noSuchProperty?default(&#39;something&#39;)</code>).
This way <code class="inline-code">?default(&#39;something&#39;)</code> and
<code class="inline-code">?exists</code> and similar built-ins can be used to
handle existing properties whose value is
<code class="inline-code">null</code>, without the risk of hiding typos in the
property names. Typos will always cause error. But mind you, it
goes against the basic approach of FreeMarker, so use this
feature only if you really know what are you doing.</p>
</li>
<li>
<p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1426227&amp;group_id=794&amp;atid=100794">[1426227]</a>
<code class="inline-code">NullPointerException</code> in
<code class="inline-code">printStackTrace(...)</code></p>
</li>
<li>
<p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1386193&amp;group_id=794&amp;atid=100794">[1386193]</a>
Division by zero in <code class="inline-code">ArithmeticEngine</code></p>
</li>
</ul>
<div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_6.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_4.html"><span>Next</span></a></div></div></div></div> </div>
</div>
<div class="site-footer"><div class="site-width"><div class="footer-bottom"> <p class="last-generated">
Last generated:
<time itemprop="dateModified" datetime="2020-07-09T23:48:37Z" title="Thursday, July 9, 2020 11:48:37 PM GMT">2020-07-09 23:48:37 GMT</time> </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2020
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="https://apache.org/">The Apache Software Foundation</a> </p>
</div></div></div></body>
</html>