使用Smooth Navigational Menu实现动态菜单

 在企业应用中一般需要根据登录用户的身份动态生成系统菜单,本文演示了使用Smooth Navigational Menu插件,通过ajax技术,从后台获取数据动态生成菜单的方法。其中前台使用的Smooth Navigational Menu是一jquery插件,后台使用Struts的Action与其交互。

Smooth Navigational Menu的主页为:http://www.dynamicdrive.com/dynamicindex1/ddsmoothmenu.htm

将jquery和Smooth Navigational Menu引入项目很简单,只需将有关文件拷贝到 WebContent 目录下即可,本例中以如下结构引入:

/WebContent
    /jquery                    jquery-1.3.1.js
        /smoothmenu      ddsmoothmenu.css, ddsmoothmenu.js, down.gif, right.gif

jsp文件中引入相关的css和js文件,并定义容纳菜单的<div>,代码如下:

为了以ajax方式获取数据,需要修改ddsmoothmenu.js。修改的位置为文件末尾处的ddsmoothmenu.init( )处,代码如下:

其中mainmenuid是菜单数据中菜单<div>的id,这在后面的Action处可以看到,contentsource的第一项是jsp中容纳菜单的<div>的id,第二项是通过ajax获取菜单数据的url

另外,为了正确显示菜单中的箭头,需要修改ddsmoothmenu.js中down.gif和right.gif的路径。

示例的Action代码如下,其中的菜单数据可以想象为例如从数据库读取的。

 

 

struts.xml中对这个action的定义与一般的action不同,定义如下:

 

 

最后实现的菜单效果如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值