?? person.java
字號(hào):
package com.example.digester;
import java.util.HashMap;
import java.util.Iterator;
public class Person {
private int id;
private String category;
private String name;
private HashMap emails = new HashMap();
// 下面的兩個(gè)方法的名字中set以后的部分,與<person>的屬性名字對(duì)映。當(dāng)從xml文件中識(shí)別出<person>的屬性時(shí),如果有要求(即調(diào)用過(guò)addSetProperties方法),Digester會(huì)依據(jù)這種對(duì)映關(guān)系自動(dòng)調(diào)用相應(yīng)的方法。
public void setId(int id) {
this.id = id;
}
public void setCategory(String category) {
this.category = category;
}
// 對(duì)name而言,因?yàn)槠渲祦?lái)自<name>標(biāo)簽的內(nèi)容而非屬性值,需要用addCallMethod指定識(shí)別<name>后的要調(diào)用此方法(想自動(dòng)調(diào)用也要可以,需要addBeanPropertySetter,參見(jiàn)第下一個(gè)例子)。
public void setName(String name) {
this.name = name;
}
// 同name,此時(shí)還要一一指定addEmail的參數(shù)值的來(lái)源。
public void addEmail(String type, String address) {
emails.put(type, address);
}
public void print() {
System.out.println("Person #" + id);
System.out.println(" category=" + category);
System.out.println(" name=" + name);
for (Iterator i = emails.keySet().iterator(); i.hasNext();) {
String type = (String) i.next();
String address = (String) emails.get(type);
System.out.println(" email (type " + type + ") : " + address);
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -