- 11
- 0
- 约9.74千字
- 约 8页
- 2017-05-13 发布于贵州
- 举报
ssh框架下用ajx动态从数据库查询的菜单
动态菜单的构建,即使用ajax异步与服务器通信,实时以局部刷新的方式从数据库取出菜单。这里把我的实现记录下来,以备以后维护升级。
1、首先是model层
public class TreeMenu {
private Long id;
private Long parentID;
private String menuName;
private String url;
setter,getter省略
2、Dao层
数据库映射
hibernate-mapping package=com.hb.manager.user.model
class name=TreeMenu table=treeMenu010t dynamic-insert=true dynamic-update=true
id name=id type=long column=id
generator class=identity/
/id
property name=parentID type=long column=parentID/
property name=menuName type=string column=menuName/
property name=url type=string column=url/
/class
/hibernate-mapping
数据库的操作主要用到通过角色来取出菜单,判断是否有子菜单的操作
按角色取出所有菜单
public ListTreeMenu getTreeMenuByRoleID(long roleID){
return getHibernateTemplate().find(select b from Role a join a.treeMenu b where a.id=?,new Object[]{roleID});
}
按角色取出根菜单
public ListTreeMenu getFirstLeaveMenuByRoleID(long roleID){
return getHibernateTemplate().find(select b from Role a join a.treeMenu b where a.id=? and b.parentID=0,new Object[]{roleID});
}
判断是否有子菜单
public boolean hasChild(long id){
return !getHibernateTemplate().find(from TreeMenu a where a.parentID=?,new Object[]{id}).isEmpty();
}
数据库中存的结构如下所示:
3、思路及关键实现
下面将要讲到关键的地方,首先就得把思路说一下,思路是先显示parentID为0的菜单,也就是每个菜单的根部。当点击根菜单的时候,再将下面的子菜单通过异步的方式取出。效果如下:
这里的话,我就自顶向下的方式说明。
首先是前台的jsp,主要代码如下:
table height=16px bgColor=#f4fffe
tr
s:iterator value=treeMenu id=parentMenu
td valign=top height=16px
ul id=parents:property value=#parentMenu.id/class=a
s:property value=#parentMenu.menuName/
/ul
/td
td valign=top height=16px
img id=downDetails:property value=#parentMenu.id/ src=%=request.getContextPath()%/images/downDetail.jpg onclick=display(s:property value=#session.username/,s:property value=#parentMenu.id/); align=top height=10px/
/td
/s:iterator
/tr
/table
表格的第一列存的是菜单,第二列存的是箭头。菜单是通过一个List迭代出来的。这里的关键是用到一个js。js代码如下:
您可能关注的文档
- Silabs C851F850 BLDC马达参考设计.docx
- Silverligt 2.5D RPG游戏技巧与特效处理:(十九)基于WCF的注册与登录.docx
- SHP-250低温化培养箱和人工光照培养箱价格.docx
- Simple, Pactical Color Theory-色谱.doc
- Simulink在压控制系统仿真中的应用.doc
- SingaporeApplication Process.doc
- SIMOTION 在板带在线激光焊机中的应用.doc
- SL-5088PC埋地管线外防腐状况综合检测评估系统.doc
- SJB-030 #机组封闭母线安装作业指导书.doc
- SL-ZN01计算控制智能化液压传动综合实验台.doc
原创力文档

文档评论(0)