作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题类似于this question ,它询问如何将属性替换为字符串,例如
Transfer {0} from {1} to {2} on {3}
该问题的答案是 MessageFormat
类,无法满足我的需要。我想将命名参数替换为如下字符串:
The {weather} in {location} stays mainly in the {terrain}.
或许
The ${weather} in ${location} stays mainly in the ${terrain}.
我是否足够幸运,已经存在一个像 MessageFormat
这样的类来帮助解决这个问题,还是我应该自己拼凑一些东西来完成它? Ant 使用 build.xml 执行此操作 - 但没有提升他们的代码,我想知道是否已经存在一个类。
最佳答案
你可以使用模板引擎来做这样的事情。 Java 有 many他们中的。两个流行的是:
使用 StringTemplate 的演示:
import org.antlr.stringtemplate.StringTemplate;
public class STDemo {
public static void main(String[] args) {
StringTemplate st = new StringTemplate(
"The $weather$ in $location$ stays mainly in the $terrain$."
);
st.setAttribute("weather", "rain");
st.setAttribute("location", "London");
st.setAttribute("terrain", "pubs");
System.out.println(st.toString());
}
}
将打印:
The rain in London stays mainly in the pubs.
关于java - 插入命名属性值,a la Ant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7153049/
我是一名优秀的程序员,十分优秀!