>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.