DWZ SSH2 菜单树--使用Struts2 标签(iterator/set/if 组合使用)
2014-09-03 20:02
323 查看
最近在研究DWZ框架,然后要写一个菜单树,后台我使用了SSH2,然后想把菜单通过后台传过来的对象展示出来。
但是,发现应用样式的时候,如果子菜单在子循环中为空的话,会多出一对空标签“<ul></ul>”,而DWZ的框架的样式,一旦发现标签<li>下出现标签“<ul></ul>”, 不论标签“<ul></ul>”里的内容是否为空,都会判断<li>为父级菜单,不是为最终的子菜单。
所以我只能在页面的父级循环中使用set标签设置一个变量flag,把需要迭代(iterator)的子菜单列表在父级菜单中先迭代一次,用来取得flag值,再用flag来判断(if标签)是否需要新建下一级子循环。
然后就是用iterator/set/if 组合使用来实现页面上的动态菜单树和DWZ样式的完美融合。
<div id="sidebar">
<div class="toggleCollapse">
<h2>主菜单</h2>
<div>收缩</div>
</div>
<div class="accordion" fillSpace="sidebar">
<div class="accordionHeader">
<h2>
<span>Folder</span>导航
</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<s:action name="menuTree"></s:action>
<s:iterator value="#attr.parentMenuTrees" status="index">
<s:set name="pId" value="id"></s:set>
<s:set name="flagId" value="'N'"></s:set>
<s:iterator value="#attr.subMenuTrees" status="index">
<s:if test="#pId==parentId">
<s:set name="flagId" value="'Y'"></s:set>
</s:if>
</s:iterator>
<li>
<a href="javascript:;" target="navTab"><s:property value="menuName" /> </a>
<s:if test="#flagId=='Y'">
<ul>
<s:iterator value="#attr.subMenuTrees" status="index">
<s:if test="#pId==parentId">
<li><a href="<s:property value="url"/>"
target="navTab"><s:property
value="menuName" /> </a></li>
</s:if>
</s:iterator>
</ul>
</s:if></li>
</s:iterator>
</ul>
</div>
</div>
</div>
相关文章推荐
- Struts2中<s-if>和<s-iterator>标签的使用
- struts2中iterator标签的嵌套使用(if/else)
- Struts2中<s-if>和<s-iterator>标签的使用
- Struts2 标签库 控制标签的使用 if append generator iterator merage sort subset
- Struts2中<s-if>和<s-iterator>标签的使用
- Struts2中<s-if>和<s-iterator>标签的使用
- Struts2中<s-if>和<s-iterator>标签的使用
- struts2中的if/else,iterator标签以及ognl简单使用
- struts2中iterator标签的嵌套使用(if/else)
- struts2中iterator标签的嵌套使用(if/else)
- Struts2中<s-if>和<s-iterator>标签的使用
- struts2 iterator中if标签的使用
- struts2中iterator标签的嵌套使用(if/else),并根据内容调整字体颜色
- Struts2中<s-if>和<s-iterator>标签的使用
- struts2中iterator标签的使用
- Struts2: 使用s:iterator标记输出Map、List、Array容器组合的数据结构
- struts2中iterator标签的相关使用
- struts2中iterator标签的相关使用
- struts2 标签的使用之 s:if
- struts2中s:iterator 标签的使用详解 及 OGNL用法