类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
====================================
package pool;
public class UserBean {
public UserBean(){
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return (this.userName);
}
public String getPassword() {
return (this.password);
}
public String toString(){
System.out.println(userName + "---" + password);
return userName + password;
}
private String userName;
private String password;
}
=======================
userdatabase.xml文件
<database>
<user userName="guest" password="guest">
</user>
</database>
=========================
public class DigesterTest {
public static void main(String[] args) {
// TODO: Add your code here
try{
Digester digester = new Digester();
String config = "e:/userdatabase.xml";
DigesterTest digt = new DigesterTest();
digester.setValidating(false);
digester.push(digt);
//创建UserBean对象
digester.addObjectCreate("database/user",pool.UserBean.class);
//设置属性
digester.addSetProperties("database/user");
//我想通过addUser方法把UserBean对象存入database中(类型为Hashtable )
digester.addSetNex("database/user", "addUser"); //?抛出空指针
InputStream ins = new FileInputStream( new File(config));
digester.parse(ins);
Hashtable database = DigesterTest.database;
System.out.println(database.get("guest").toString());
ins.close();
}catch( Exception e){
e.printStackTrace();
}
}
public void addUser(UserBean user){
database.put(user.getUserName(), user);
}
public static Hashtable database;
public static Log log = LogFactory.getLog(DigesterTest.class);
}
关键是这句digester.addSetNex("database/user", "addUser"); 总报空指针,在下谢了
网友回答:
调试一下,看digester是不是null?
应该是
digester.addSetNext("database/user", "addUser");
吧,少写了个t