You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by "Daniel Dekany (JIRA)" <ji...@apache.org> on 2015/11/12 23:17:11 UTC

[jira] [Resolved] (FREEMARKER-9) Can't use macro inside #if-#elseif-#else

     [ https://issues.apache.org/jira/browse/FREEMARKER-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Dekany resolved FREEMARKER-9.
------------------------------------
    Resolution: Invalid

It's because macro call tags always has to be explicitly closed (similarly to XML tags), so {{<@testMacro "A">}} is a start-tag, and hence the enclosed {{#else}} has no corresponding {{#if}}. Try {{<@testMacro "A" />}}, and it will work.

> Can't use macro inside #if-#elseif-#else
> ----------------------------------------
>
>                 Key: FREEMARKER-9
>                 URL: https://issues.apache.org/jira/browse/FREEMARKER-9
>             Project: Apache Freemarker
>          Issue Type: Bug
>          Components: engine
>    Affects Versions: 2.3.23
>         Environment: Windows 7
>            Reporter: Henrik Karlsson
>
> When I put a call to a macro inside an #if-#elseif-#else I get this error:
> Unexpected directive, "<#else>". Check whether you have a valid #if-#elseif-#else structure.
> Example template:
> {noformat}
> <#macro testMacro value>
> ${value}
> </#macro>
> <#if (true)>
> 	<@testMacro "A">
> <#else>
> 	<@testMacro "B">
> </#if>
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)