通过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)方法
因而需要修改参数名或方法名使其不匹配