【发布时间】:2010-09-13 18:56:13
【问题描述】:
是否有任何库可以让我使用与 BeanUtils 中相同的已知符号来提取 POJO 参数,但可以轻松替换字符串中的占位符?
我知道使用 BeanUtils 本身或具有类似功能的其他库可以自行开发,但我不想重新发明轮子。
我想取一个字符串如下:
String s = "User ${user.name} just placed an order. Deliver is to be
made to ${user.address.street}, ${user.address.number} - ${user.address.city} /
${user.address.state}";
并在下面传递一个 User 类的实例:
public class User {
private String name;
private Address address;
// (...)
public String getName() { return name; }
public Address getAddress() { return address; }
}
public class Address {
private String street;
private int number;
private String city;
private String state;
public String getStreet() { return street; }
public int getNumber() { return number; }
// other getters...
}
类似于:
System.out.println(BeanUtilsReplacer.replaceString(s, user));
将每个占位符替换为实际值。
有什么想法吗?
【问题讨论】:
-
查看关于using Expression Language in a standalone context的类似问题的答案。
标签: java string replace placeholder