dom4j实战(二)——使用dom4j设计Openfire式导航菜单

本文配套源码

通过上一篇文章(dom4j实战(一)——使用dom4j从XML中读取数据源配置),使我们对dom4j有了一些初步的认识和了解,也掌握了基本的操作方法,本文将承接前篇,借鉴Openfire项目中菜单设计的优点,结合我们自己的需求,通过一个小实例,来说明一下如何使用dom4j来实现这个功能。

可以在http://www.igniterealtime.org/downloads/index.jsp 这里下载到Openfire的发布版和源码版,Openfire的介绍在这里不作描述,网上相关的资料有很多,有兴趣的朋友可以下载源码研究一下,其实不了解Openfire也没关系,因为我们只是借鉴其中的一些思想,等做完了实例,就会有一个比较直观的认识。

大象建议先在最后面下载源码和必要的JAR包,让程序运行起来看下效果,再看下面的详细说明。

开发环境:Eclipse 3.2.1 MyEclipse 5.10GA Tomcat 6.10 

dom4j-1.6.1.jar jaxen-1.1-beta-7.jar sitemesh-2.2.1.jar

1、创建tag-console.xml

在src目录下建一个tag-console.xml文件,这个配置文件中写的是菜单信息,内容如下:

<?xml version="1.0" encoding="GBK"?>
<bookstore>
  <global>
    <appname>菜单导航demo</appname>
    <version>ver 1.0</version>
    <creator>菠萝大象</creator>
  </global>
  <catalog id="catalog-program" name="编程开发" url="index.jsp" description="编程开发">
    <item id="item-program-java" name="Java开发" url="index.jsp" description="Java开发">
      <book id="695043" name="Struts2 深入详解" url="index.jsp" description="Struts2 深入详解"/>
      <book id="691254" name="Ant整合开发" url="book_ant.jsp" description="Ant整合开发"/>
      <book id="693668" name="Java编程思想" url="book_java.jsp" description="Java编程思想"/>
    </item>
    <item id="item-program-database" name="数据库开发" url="book_oracle9.jsp" description="数据库开发">
      <book id="691245" name="Oracle 9i数据库宝典" url="book_oracle9.jsp" description="Oracle 9i数据库宝典"/>
      <book id="693254" name="SQL Server 2005应用开发" url="book_sqlserver.jsp" description="SQL Server 2005应用开发"/>
      <book id="690215" name="Oracle 10g高级开发" url="book_oracle10.jsp" description="Oracle 10g高级开发"/>
    </item>
  </catalog>
  <catalog id="catalog-system" name="系统相关" url="book_vista.jsp" description="系统相关">
    <item id="item-system-windows" name="Windows系统" url="book_vista.jsp" description="Windows系统">
      <book id="691258" name="Windows Vista入门" url="book_vista.jsp" description="Windows Vista入门"/>
      <book id="695489" name="Windows注册表实战" url="book_windows.jsp" description="Windows注册表实战"/>
    </item>
    <item id="item-system-linux" name="Linux系统" url="book_linux9.jsp" description="Linux系统">
      <book id="696598" name="Linux 9.0详解" url="book_linux9.jsp" description="Linux 9.0详解"/>
      <book id="694585" name="Linux宝典" url="book_linux.jsp" description="Linux宝典"/>
    </item>
  </catalog>
</bookstore>

上面XML里面的东西我是随便写的,大家千万不要较真,我用图书来做菜单一是方便大家理解,另一个是简化程序,其实Openfire的服务器端是一个后台管理系统,它是基于XMPP(可扩展消息处理现场协议)开发的,XMPP贯穿整个系统设计,如果你想用它的控制台框架,但又不想用XMPP,请先从网页入口开始,结合页面仔细分析代码,把需要的部分抽取出来就行了,其它的不用去管。大象没有研究过XMPP,只是抽取了控制台框架,对Openfire的源代码也没能深入的研究,最主要还是E文太烂了。^_^

Openfire没有采用现在很流行的技术架构(SSH),只使用JSP+JavaBean,但是它有自己的系统设计,就连日志都是自己做的,没有使用我们熟悉的log4j,真的是太佩服鸟~~~~

时间: 2024-08-04 00:31:17

dom4j实战(二)——使用dom4j设计Openfire式导航菜单的相关文章

设计响应式导航菜单的5大法则

响应式Web设计(Responsive Web design)的理念是,页面的设计与开发应当根据用户行为以及设备环境(系统平台.屏幕尺寸.屏幕定向等)进行相应的响应和调整.响应式设计允许你在不 同的平台上,创建独一无二的用户体验,与此同时,只要最少的维护工作. 已经有不少文章涉及响应式设计,这些文章帮助我们理解和解剖响应式网站设计的学习指南和教程,揭示媒体查询的作用,与此同时,还提供一些令人兴奋的响应式设计集合. 我们暂且先放开宏观上的响应式Web设计,把目光聚集在更具挑战性的"响应式导航菜单设

网站分析:设计响应式导航菜单的五大法则

中介交易 SEO诊断 淘宝客 云主机 技术大厅 摘要:本文把目光聚集在更具挑战性的响应式Web设计:响应式导航菜单设计,这里提供了五大法则,让你无论在大屏幕还是小屏幕上都能轻松高效地设计响应式导航菜单. 响应式Web设计(Responsive Web design)的理念是,页面的设计与开发应当根据用户行为以及设备环境(系统平台.屏幕尺寸.屏幕定向等)进行相应的响应和调整.响应式设计允许你在不同的平台上,创建独一无二的用户体验,与此同时,只要最少的维护工作. 已经有不少文章涉及响应式设计,这些文

用CSS3设计响应式导航菜单 - WEB开发者

来源:http://www.admin10000.com/document/1463.html#jtss-hi

jQuery实现简单的列表式导航菜单效果代码_jquery

本文实例讲述了jQuery实现简单的列表式导航菜单效果代码.分享给大家供大家参考.具体如下: 这里使用jQuery实现简单的列表式导航菜单,是根据网上的一个教程,边看边写的,经过了修正,拷贝代码即可使用.主要实现包括三个部分,一是CSS.二是引入jQuery.三是编写JS代码进行jQuery控件. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-simple-list-style-nav-menu-codes/ 具体代码如下: <h

使用CSS3制作响应式导航菜单的方法

关于使用响应式设计来创建一个手机导航栏,之前我曾经写过一个教程.现在我发现了一种新的方式,可以不使用JavaScript来实现响应式菜单.它完全使用整洁和语义化的HTML5标记,而且菜单可以居左.居中和居右对齐.不像前面一个教程中需要点击来展开,这个菜单可以在hover时展开,对用户更为友好.它也包含一个指示器来显示当前激活的菜单项.这种方式可以工作于所有的移动和桌面浏览器中,甚至包括IE. 演示 目标 这个教程的目标是向你展示如何把一个传统的列表菜单在更小的屏幕上转换为可伸展的菜单. 这种方式

网页设计技巧总结:导航栏设计的三大要点

文章描述:在网页中设计导航菜单的三个原则(附案例). 导航菜单可能是网页设计中最重要的部分了.每个用户浏览网站时一定有所需,因此导航菜单能够帮助用户寻找信息.好的导航菜单像是导游,告诉用户网站是干什么的,内容分类有哪些,在哪里可以找到什么信息. 而且导航栏也是整体布局的重要组成. 总结一下,导航栏的重要性. 1. 浏览完Logo后,导航栏是用户第一个看到的组件.2. 导航栏的作用是引导用户.3. 导航栏的作用也类似于索引,快速帮助用户找到所需信息. 想让导航栏更加优雅.美丽.响应式么?看看导航栏

点靓网页的10种导航菜单设计

  网页导航菜单设计关系到你的网站整体设计成败,所以不少优秀的网站设计通过颜色.排版.形状和一些图片的精心修饰来帮助网站创造更好的视觉效果,我们从设计师们的收集中精选了这些从极简到拥有众多细节的不同设计,它们都符合所属网站的设计风格. 此网页的导航菜单设计重在让用户专注于惊艳的摄影作品,所以采用了大量的白色空间. 这也是一个极简设计,但加了一些细节.顶部文字全部采用大写,而小号的字体与渐变灰的渲染让它们显得简单优雅,此外,下方页面设计为导航菜单占比的两倍,弱化了导航菜单的展示. CHEF-S 网

70+漂亮且极具亲和力的导航菜单设计国外网站推荐_javascript技巧

导航菜单应当足够简单以让用户快速了解它,但还要包含一些必要的元素来引导用户浏览整个网站--融入一些有创意且漂亮的设计. 向大家推荐的70款优秀的导航菜单,有些是基于CSS设计的,有些是基于CSS+JavaScript的菜单,还有些是基于Flash的导航菜单设计,它们都有一个共同点:那就是它们都极具创意.界面对用户有好的,且完美的与网站的整体风格融合在一起. 1.基于CSS的导航菜单设计 Loodo让网站更有感觉的华丽的菜单 Acko.netSteven将他网站的导航菜单设计成了不同寻常的透视效果

使用Java解析XML文件(二) DOM4J篇

Dom4j是一个易用的.开源的库,用于XML,XPath和XSLT解析.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP.官方网址:http://www.dom4j.org/. Dom4J在很多方面拥有更强大的功能,鼎鼎有名的Hibernate也使用它来做XML配置文件的解析. import java.io.FileWriter; import java.io.IOException; import org.dom4j.Document; import org.do