热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->struts 
站内搜索:
Struts网站导航系统设计新思路探讨(1)
作者:佚名 来源:chinaitlab.com 整理日期:2007-3-8
提纲:
  
  一、背境;
  
  二、需求分析:
  1、学习日记网站的主要功能页面结构;
  2、需要进行动态导航的主要模块;
  3、需求的提出:
  1)、层次导航的需求;
  2)、同一列表中帖子间的导航(即上一条,下一条类似的导航);
  3)、父帖与子帖列表的双向导航;
  
  三、具体实现过程:
  1、层次导航的实现过程:
  1)列出导航功能需求列表,看都有哪些导航路径;
  2)分析定位特定类型的页面所需的参数;
  3)确定层次导航的实现方法;
  4)进行层次导航系统的设计:
  (1)、进行页面节点导航封装字符串格式的设计;
  (2)、页面完整导航字符串的设计;
  (3)、将封装的导航字符串还原为显示在页面上的URL地址导航条;
  (4)、在页面上显示层次导航的URL字符串;
  2、同一列表中帖子间的导航(即上一条,下一条类似的导航)的实现过程:
  1)列出导航需求列表;
  2)分析实现上一条、下一条导航所需的参数;
  3)确定实现上一条、下一条导航的实现方法;
  4)进行上一条、下一条导航的设计:
  (1)、根据层次导航的导航字符串确定上一条、下一条导航所在的层次导航位置;
  (2)、确定在哪几个Struts的Action中需要处理上一条、下一条导航;
  (3)、在页面上显示上一条、下一条导航的URL字符串;
  3、父帖与子帖列表的双向导航的实现过程:
  1)列出导航需求列表;
  2)分析实现双向导航所需的参数;
  3)确定实现方法;
  4)进行双向导航的设计:
  (1)、确定在哪几个Struts的Action中需要处理双向导航;
  (2)、在页面上显示双向导航的URL字符串;
  
  四、总结:
  1、心得;
  2、优点;
  3、缺点;
  
  关键词:学习日记 Struts 动态导航 学习日记动态导航技术(简称:LDDN技术 ) 学习日记开发小组(简称:LDDG )
  
  ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  
  正文
  
  一、背境:

  
  学习日记(http://www.learndiary.com )网站是采用Struts框架的开源项目learndiary(http://develop.learndiary.com )的实际运行示范站点。目前由学习日记开发小组进行开发,致力于以JAVA技术构建一个普遍适用的开源网络学习交流平台。为了改善用户的浏览体验,故提出导航系统的改善计划。已经包含了这个导航系统的的最新版本为learndiaryV0.9.0.4。本文所提到的程序均可以在本站的下载菜单中获取:http://www.learndiary.com/download/download.html 。本文希望起到一个抛砖引玉的作用,引发一场关于java技术构建的web系统的导航系统设计的讨论。
  
  二、基本思路:
  
  1、学习日记网站的主要功能页面结构:
  
  核心为:目标列表-》目标内容及评论-》目标下的日记列表-》日记内容及评论
  
  (示意图:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145635335.gif )
  
  2、需要进行动态导航的主要模块:
  
  需要进行动态导航的主要模块有3个,见学习日记网站的菜单栏:
  
  1)、所有目标:http://www.learndiary.com/indexAction.do?pageNum=1&naviStr=a10 (显示学友提出的所有学习目标列表 )
  
  2)、检索:http://www.learndiary.com/toSearchAction.do?naviStr=a10ac0 (检索本站的所有学习目标和学习日记 )
  
  3)、您的目标:http://www.learndiary.com/processGoalAction.do?currentGoalState=1&pageNum=1&naviStr=a10a60 (学友自己的学习目标归类:包括:进行中的目标、退出的目标、已完成的目标 )
  
  3、需求的提出:
  
  1)、层次导航的需求:
  
  们想建成一个导航系统,它可以跟踪用户在系统中浏览页面的过程,每浏览到一个新的页面,就在导航条中加入这个页面的URL,于是,当用户浏览到别的页面,可以点击返回系统导航条中的前面浏览过的页面;当浏览一个页面是与导航条中已经存在的页面类型一致时,就截去导航条中此类型页面后面的导航URL。
  
  征对这个需求,大概看了一下动网的实现方式和phpWind论坛的实现方式,他们用的导航基本上是静态的,也就是说,一种页面上的导航条是固定的,例如:显示一条帖子的内容,他们的方式是:论坛首页-》论坛版块-》主题内容。
  
  而们的需求是,例如:显示一篇日记的内容:
  
  在所有目标模块中,导航条为:所有目标>>日记列表>>日记内容;(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145637393.gif )
  
  在检索模块中,导航条为:所有目标>>检索>>检索日记列表>>日记内容;(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145638825.gif )
  
  在您的目标中,导航条为:所有目标>>进行中的目标>>本目标的日记列表>>日记内容;(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145639738.gif )
  
  2)、同一列表中帖子间的导航(即上一条,下一条类似的导航 ):
  
  另外,除了上面层次导航的需求,同一列表中帖子间的导航(即上一条,下一条类似的导航 ),们也想在网上一般的导航系统的基础有所改良。例如:在一般的导航系统中,如果你在检索结果的列表中点击查看一篇帖子,然后,你再点击这篇帖子的上一条和下一条链接,新点开的页面不是检索结果列表中的上一篇或下一篇帖子,而是这条帖子所有的版块的上一条和下一条帖子。
  
  们需要在检索结果列表中,点击检索到的一篇日记中的“上一条”和“下一条”链接时,显示的是检索结果列表中本日记的上一条和下一条日记。
  
  例如,们以“中文显示”为关键字检索日记得到一个检索结果列表:(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145641532.gif )
  
  当点击查看“解决:jsp页面中文显示问题”这篇日记中的下一条链接时,们需要打开检索结果列表的下一篇日记:“问题:jsp中文显示,<c:set>的值可否是对象?me ”:(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145642728.gif ),而不是“解决:jsp页面中文显示问题”这篇日记所在的目标中的下一篇日记。
  
  在“您的目标”这个模块中的“上一条”和“下一条”的导航同样存在在检索页面中点击“上一条”和“下一条”链接的问题。
  
  3)、父帖与子帖列表的双向导航:
  
  学习日记征对自身的功能结构特点,还需要实现:“目标<──>目标下的所有日记列表”的双向导航和“目标<──>目标下的日记列表”的双向导航:显示目标内容(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145649587.gif ),您可以看到页面右边中上有两个链接分别是:“查看所有日记”和“查看的日记”,点击“查看所有日记”链接出现的是页面(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145650721.gif ),点击“查看的日记”链接出现的是页面(图例:http://java.chinaitlab.com/UploadFiles_8734/200511/20051128145653404.gif );后面这两个页面的右中上部又都有到日记所在的目标中的链接:“查看目标内容”。
  
  以上总结了学习日记需要实现的导航系统的三个方面的需求,征对这个需求,看了一些论坛,均没有现存的东西可以参考,于是,们决定探索一种能够实现上面动态导航需求的方法。因为们实现的导航系统是动态变化的,故把这种实现的方法称之为“学习日记动态导航技术”(简称:LDDN技术 )。下面把们的具体设计过程总结一下。

[1]  [2]  [3]  [4]  
相关文章
暂无