SSH框架常用的一些菜单处理架构整理(前端)。

                                                                   SSH框架常用的一些菜单模块前端生成方式。

                                    菜单无论在哪一个系统中都是存在,但是随着前端框架的不同,菜单的实现也是完全不一样的,当你开始一个项目系统构建时,最开始就是搭建好系统的菜单模块

      使用OGNL表达式和struts2标签方式搭建菜单模块,struts2标签格式:<s:xx></s:xx>

       菜单的搭建需要在登入的时候就从后台查询得到菜单的信息(菜单名,菜单响应,菜单图标,菜单级别等等)。通过后台服务查出来后

//将查询的到的菜单数据放入应用层MAP中

       ServletActionContext.getContext().getApplication().put("sessioninfo",sessionInfo);

       //在jsp中创建标签我要用的struts2的标签是: <s:iterator/> 循环标签

       //具体实现

<ul id="MenuUl">
	<s:if test="application.topPrivilegeList == null ">application.topPrivilegeList is null</s:if>
	<%-- 显示一级菜单 --%>
	<s:iterator value="#application.topPrivilegeList">
		<li class="level1">
		<div onClick="menuClick(this);" class="level1Style">
			<img src="${pageContext.request.contextPath}/style/images/MenuIcon/FUNC20001.gif" class="Icon" />
			${name}
		</div>
		<ul style="" class="MenuLevel2" id="aa">
		<%-- 显示二级菜单 --%>
		<s:iterator value="childern">
			<li class="level2">
				<div class="level2Style">
					<img src="${pageContext.request.contextPath}/style/images/MenuIcon/menu_arrow_single.gif" />
					<a target="right" href="${p  ageContext.request.contextPath}${url}.action"> ${name}</a>
				</div>
			</li>
		</s:iterator>
		</ul> 
		</li>
	</s:iterator>		
</ul>


另外一种在EASYUI前端框架中的菜单模块初始化

  //菜单数据sessionInfo放入应用上下文中中去

ServletActionContext.getRequest().getSession().setAttribute(sessionName, sessionInfo);


<div class="easyui-accordion" style="border:left" data-options="fit:true,border:false">
	<c:forEach var="item" items="${sessionInfo.auths}">
		<c:if test="${item.cpid=='0'}">
			<div title="${item.cname}" iconCls="${item.ciconCls}">
			<ul class="easyui-tree tree" data-options="url:'menuAction!treeRecursive.action?id=${item.cid}',onClick : function(node) {
				var nodeurl = node.attributes['url'].replace(' ','');
				if (nodeurl != '' && nodeurl !='#')
				addTab(node);
			}">  
    		</ul> 
			</div>
		</c:if>
	</c:forEach>
</div>

这些菜单数据都是放在应用的上下文MAP数据结构中 的,通过OGNL表达式的方式获取值


一般后端会将值放到OGNL Context 中去,前端通过${属性名} ,#对象名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比特科技软件开发工作室

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值