You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Jochen Theodorou (JIRA)" <ji...@apache.org> on 2017/01/06 18:21:58 UTC

[jira] [Resolved] (GROOVY-8041) The templating engine does not handle properly the binding parameters that contains dot ('.') character

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

Jochen Theodorou resolved GROOVY-8041.
--------------------------------------
    Resolution: Not A Bug
      Assignee: Jochen Theodorou

your Template is being transformed to Groovy code and compiled. In Groovy the expression a.b then tries to get the property b from the property a. You would have to write this."a.b" to get it working the way you want it to

> The templating engine does not handle properly the binding parameters that contains dot ('.') character
> -------------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-8041
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8041
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.4.7
>            Reporter: Bence Takács
>            Assignee: Jochen Theodorou
>
> The templating engine does not handle properly the binding parameters that contains dot ('.') character
> The below script throws an exception while the assertion passes:
> def template = new groovy.text.SimpleTemplateEngine().createTemplate('Testing ${a.b}')
> def params = ['a.b':'working']
> assert params['a.b']
> println template.make(params)
> "groovy.lang.MissingPropertyException: No such property: a for class: SimpleTemplateScript22
> 	at SimpleTemplateScript22.run(SimpleTemplateScript22.groovy:1)
> 	at Script1.run(Script1.groovy:5)"
> The issue is valid for also StreamingTemplateEngine and GStringTemplateEngine



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