I wanted to substitute the placeholder dynamically in properties in a java application. Like
WelcomeMessage=Welcome Mr. {firstName} {lastName} !!!
These firstName and LastName variable needs to be substituted dynamically. Should we use velocity template engine for the same? Or are there any other opensource frameworks for the same?
Thanks, Manish
You can use the MessageFormat class of Java SE. It allows you to do exactly what you ask for.
In your case the below code snippet must do the trick, assuming props contains all the properties loaded from your file.
MessageFormat.format((String) props.get("WelcomeMessage"), "First", "Last");
Note that your properties files should have index of parameters instead of named parameters as below.
WelcomeMessage=Welcome Mr. {0} {1} !!!