通过digester创建对象后,无法设置元素的值dataSize:
digester.addBeanPropertySetter ("config/settings/size", "dataSize");
class Config{
private int dataSize;
public int getDataSize()
{
return dataSize;
}
public void setDataSize(String dataSize)
{
this.dataSize = Integer.parseInt(dataSize);
}
}
原因:
1.digester的rule首先通过名称查阅对象是否有参数dataSize,发现为int类型,则调用setDataSize(int dataSize); 找不到方法,失败
2.如果找不到dataSize参数,则调用可以匹配到的setDataSize(String dataSize)方法
因而需要修改参数名或方法名使其不匹配