GWT-Ext 体验之旅,第 3 部分: 体验布局和树(7)

来源:developerWorks 中国 作者:王 颖初
  

从 XML 中我们可以看到树的根节点对应于 XML 标签 <countries>, 根节点下的中间节点对应于 XML 标签 <team>, 叶子节点则对应了 XML 标签 <country> 。 在各个 XML 标签中有属性节点,GWT-Ext 可以取得这些节点值并且赋值于各个树中的各个节点。具体的实现介绍如下。

首先,新建一个负责异步通信的 XMLTreeLoader 的实例 loader,他的构造函数如下。

public XMLTreeLoader()

其次,XMLTreeLoader 提供了很多方法来映射 XML 的不同节点。代码清单 11 提供了具体的实例来解释。


清单 11. Tree 的异步数据加载
				
 loader.setDataUrl("data/countries.xml"); 
 loader.setMethod(Connection.GET); 
 loader.setRootTag("countries"); 
 loader.setFolderIdMapping("@id"); 
 loader.setLeafIdMapping("@id"); 
 loader.setFolderTitleMapping("@title"); 
 loader.setFolderTag("team"); 
 loader.setLeafTitleMapping("@title"); 
 loader.setLeafTag("country"); 
 loader.setQtipMapping("@qtip"); 
 loader.setCheckedMapping("@checked"); 
 loader.setIconMapping("@icon"); 
 loader.setAttributeMappings(new String[] { "@rank" });

方法 setDataUrl 用于设置 XML 映射文件的相对位置,参数 url 是相对于 com.ibm.developmentworks.demo.public 的路径。在本例中,我们在 public 目录下创建了新的 data 目录,同时在该目录下新建 countries.xml 文件。

public void setDataUrl(java.lang.String dataUrl)

方法 setMethod 用于设置通信方法。由于 XMLTreeLoader 是建立在 HTTP 上的异步通信,因此这里有 Connection.GET 和 Connection.POST 两种通信方法。

public void setMethod(Connection.Method method)

方法 setRootTag 用于指定 XML 文件中顶级标签的名字。在本例中,顶级标签是 countries 。对应于树的根节点。

public void setRootTag(java.lang.String rootTag)

方法 setFolderTag(String tag)用于指定 XML 文件中非顶级和最底级标签的名字。在本例中,该标签是 team 。对于树中的目录节点。目录节点可以包含非根节点外的其它任何节点。

public void setFolderTag(java.lang.String folderTag)

方法 setLeafTag 用于指定 XML 文件中最底级标签的名字。在本例中,该标签的名字是 country 。对应于树中的叶子节点。叶子节点下不能再包含其它节点。

public void setLeafTag(java.lang.String leafTag)

方法 setFolderIdMapping 用于设置节点的标识 ID 。对于树的每个节点来说都有一个唯一 ID,这个 ID 在 XML 文件中出现在标签 <team> 的属性节点。如 id="team-a",GWT-Ext 取得属性节点值的方式是在属性名前加上 @ 符号,取得属性值。如果在 xml 的标签中没有该指定属性,GWT-Ext 会生成随机唯一 ID 。

public void setFolderIdMapping(java.lang.String folderIdMapping)

方法 setLeafIdMapping(String id)用于设置叶子节点的标识 ID 。方式和 setFolderIdMapping 一样。

public void setLeafIdMapping(java.lang.String leafIdMapping)

时间:2009-06-05 15:28 来源:developerWorks 中国 作者:王 颖初 原文链接

好文,顶一下
(3)
75%
文章真差,踩一下
(1)
25%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量