Может быть MVEL будет работать для вас.
С шаблоном типа
Hello, @{person.getSex() == 'F' ? 'Ms.' : 'Mr.'} @{person.name}
вы можете сделать
context.put("person", personBean);
String output = (String) TemplateRuntime.eval(template, context);
Ознакомьтесь с этим учебным пособием (где я читал об этом, у меня нет опыта работы с MVEL).