用XML来驱动DHTML菜单

ZDNet软件频道 时间:2003-10-16 作者:ZDNet China |  我要评论()
本文关键词:
通过本文,你应该学会如何在应用程序中使用XML来驱动DHTML菜单的技术。至于如何产生菜单项XML文件的问题我留给读者们自行解决。
本文译自Builder.com,未经许可请勿转载如果你想使用DHTML菜单脚本,那么你需要提供一个用来构建菜单的菜单项清单。尽管提供一个硬编码的(hard-coded,即把菜单项直接写到代码之中)清单或者一个小而简单的站点数组并麻烦,但是这个任务在企业级的应用程序中变得很复杂。在这种应用程序中,你可能希望根据某些因素来改变菜单项,这些因素可能有:

  • 记录在用户/客户帐号下的信息
  • 用户所从属的组
  • 用户进入网站的哪一个部分
  • 用户是否肩负某项特定责任
  • 用户是否处于某种模式下,如编辑模式

我们可以在应用程序中对上述情况的每一种组合都创建一项与之对应的硬编码菜单项数组,但是你很快就会发现这种方法难以处理。而且,这些菜单项排列组合需要下载到客户端,因此下载量会显著增加。

动态创建菜单元素

上述问题的一个显而易见的解决方案就是在应用程序中用类似如下逻辑来动态创建菜单元素:
if user = GUEST then
    ADD Login
else
    ADD LogOut
    ADD Company Info
    ADD Company Info -> Accounts
    ADD Company Info -> Phone Book
end if


菜单的创建可以是几部分的结果。例如:

  • 应用程序不同部分的代码,如上所示
  • 来自某个数据源;例如一个数据库,该数据库保存了所有用户组所对应的菜单项清单
  • 某些标准菜单组成部分,例如主页链接


最终的菜单一般由上面所提到的一部分或者多部分(一般是所有这些部分)组成。一旦产生了这个文件,它就可以动态包含在最终的输出之中,并发送到用户浏览器来作为用户界面的一部分。常见的DHTML菜单脚本的许多变种都允许以这种方法来定义结构,其数据通常来自数据库。

XML怎样?

当XML作为服务器与客户端浏览器进行数据交换的工具而出现之后,我们有了另一种把菜单结构提供给终端用户的方法。这一方法有如下好处:

  • 菜单是在客户端动态构建的,因此提供了服务器的利用率。
  • 当需要时,我们可以刷新XML文件而不必点击内部连接或者刷新页面。
  • 菜单数据保存在一个单独的文件中,相对于把数据嵌入到代码的方法,它非常易于阅读和修改。

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134