替换文本中的变量:建议?

Aar*_*lla 2 java string variable-expansion

我正在寻找一个很好的模板引擎或一小段代码来在Java中的字符串中扩展类似Ant的变量.例:

String result = expand ("${firstName} ${familyName}", map);
Run Code Online (Sandbox Code Playgroud)

它至少应该支持,java.util.Map但是也可以使用能够处理bean或递归查找或查找地图/对象列表的东西.

建议?

[编辑]回复TofuBeer:没有嵌套,只有有效的Java标识符{}.除了之外的任何内容都${}应该逐字复制.$$应该成为$``. If that's not possible ${dollar}应该扩展到单一$(所以你可以表达15.00 $).