struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yasser Zamani <yasserzam...@apache.org>
Subject RE: Escaping dollar sign and curly brackets
Date Sat, 02 Feb 2019 13:25:58 GMT
>From: Micael Carreira <mcarreira@itclinical.com>
>Sent: Friday, February 1, 2019 6:56 PM
>To: user@struts.apache.org
>Subject: Escaping dollar sign and curly brackets
>
>Hey,
>
>In my action I'm using getText(myKey) to get a localized string. This string has
>some placeholders of mine, in ${placeholder} format. Consider my original key is
>defined as this in my properties file:
>
>     myKey = Some text ${placeholder} more text.
>
>I've read in Struts documentation that it uses MessageFormat. So, if I want
>literals, I need to use single quotes. This is what I did in my properties file:
>
>     myKey = Some text '${placeholder}' more text.
>
>However, when I call getText(myKey) I get: Some text ' more text. Why does this
>happen?

It seems firstly ${placeholder} is evaluated to empty by Struts then '' is evaluated to '
by MessageFormat.

>
>I also noticed that the problem is the dollar sign AND curly brackets without any
>character in between. If I have this definition:
>
>     myKey = Some text '$' text '{placeholder}' more text.
>
>It gets resolved to: Some text $ text {placeholder} more text.
>
>Can somebody explain me how can I escape the dollar and curly brackets
>characters?

I guess '$'{placeholder} or $'{placeholder}' or '$''{placeholder}' should work :\ could you
please report back the result for each one? And which Struts version you test?

Thanks for using Struts!

Kind Regards.
Mime
View raw message