Hey Yasser,

Thanks for your reply. I tought I tried every combination you suggested, but it seems that I missed the *$'{placeholder}'* variant.

This works for me. Thanks for your help!


On 02/02/19 13:25, Yasser Zamani-2 [via Struts] wrote:
From: Micael Carreira <mcarre...@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.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to