Digester类指的是org.apache.commons.digester.Digester.
Jakarta的Digester框架从Struts框架发展而来,
1. 首先定义一个UserDatabase.xml
<?xml version="1.0" encoding=“ISO-8859-1”>
<users>
<user>
<name>
yjs
</name>
<password>
821001
</password>
<webpage>
http://free2.e-168.cn/jisong/
</webpage>
<address>
</address>
</user>
</users>
每个标签与相应的匹配模式对应如下表:
--------------------------------------------
| 标签 | 匹配模式 |
----------------------------------------------
<users> users
<user> users/user
<username> users/user/username
<password> users/user/password
<webpage> users/user/webpage
<address> users/user/address
-------------------------------------------------
将XML文件视为一棵树,那么标签的匹配模式就是从根元素到到当前元素的匹配,使用匹配模式可以很方便定位处理元素。要处理这些元素,还需要一些处理规则,幸好org.apache.commons.digester.rules能够为
们派生出许多。所有已定义的Rule对象,可以在org.apache.commons.digester中找到。常用的规则:
ObjectCreate, 创建对象实例。
SetProperties, 将标签属性(Attribute)与要创建的对象的属性相关联。
BeanPropertySetter,将标签所包含标签与要创建的对象的属性相关联
SetNext, 设置遇到下一个标签时的动作。
CallMethod, 设置当匹配模式被找到时要调用的方法。
CallParam, 设置对应的callMethod中指定方法所需要的参数值。
Jakarta的Digester框架从Struts框架发展而来,
1. 首先定义一个UserDatabase.xml
<?xml version="1.0" encoding=“ISO-8859-1”>
<users>
<user>
<name>
yjs
</name>
<password>
821001
</password>
<webpage>
http://free2.e-168.cn/jisong/
</webpage>
<address>
</address>
</user>
</users>
每个标签与相应的匹配模式对应如下表:
--------------------------------------------
| 标签 | 匹配模式 |
----------------------------------------------
<users> users
<user> users/user
<username> users/user/username
<password> users/user/password
<webpage> users/user/webpage
<address> users/user/address
-------------------------------------------------
将XML文件视为一棵树,那么标签的匹配模式就是从根元素到到当前元素的匹配,使用匹配模式可以很方便定位处理元素。要处理这些元素,还需要一些处理规则,幸好org.apache.commons.digester.rules能够为
们派生出许多。所有已定义的Rule对象,可以在org.apache.commons.digester中找到。常用的规则:
ObjectCreate, 创建对象实例。
SetProperties, 将标签属性(Attribute)与要创建的对象的属性相关联。
BeanPropertySetter,将标签所包含标签与要创建的对象的属性相关联
SetNext, 设置遇到下一个标签时的动作。
CallMethod, 设置当匹配模式被找到时要调用的方法。
CallParam, 设置对应的callMethod中指定方法所需要的参数值。