Heim >Web-Frontend >HTML-Tutorial >Struts嵌套遍历_html/css_WEB-ITnose
设计菜单实体类如下:
public class Menu implements Serializable { private int id; private String menuName; // 菜单名称 private String menuUrl; // 菜单url private int menuParent; // 父菜单编号 private List<Menu> children;// 子菜单}
<!-- 菜单开始 --><s:iterator id="menu" value="menus"> <h1><s:property value="menuName" /></h1><!--一级菜单,测试通过--> <div class="content"> <ul class="MM"> <s:iterator id="subMenu" value="#menu.children" /><!--二级菜单,现在就是二级菜单遍历有误,页面编译不通过--> <li><a href="http://www.865171.cn" target="main"><s:property value="subMenu.menuName" /></a></li> </s:iterator> </ul> </div></s:iterator><!-- 菜单结束 -->
错误是:org.apache.jasper.JasperException: /menu.jsp(177,3) The end tag "
menus 你迭代它?没看到list定义为menu的
menus 你迭代它?没看到list定义为menu的
<!-- 菜单开始 --> <% List<Menu> ml = (List<Menu>)request.getAttribute("menus"); System.out.println("*************pan****************:"+ml); for(int i = 0; i < ml.size(); i++){ %> <h1 class="type"><a href="javascript:void(0)"><%=ml.get(i).getMenuName() %></a></h1> <div class="content"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="images/menu_topline.gif" style="max-width:90%" style="max-width:90%" / alt="Struts嵌套遍历_html/css_WEB-ITnose" ></td> </tr> </table> <ul class="MM"> <% System.out.println("一:"); for(int j = 0; j < ml.get(i).getChildren().size(); j++){ %> <li><%=ml.get(i).getChildren().get(j).getMenuName() %></li> <% } %> </ul> </div> <% } %> <!-- 菜单结束 -->
最终也没有用Struts标签实现,淡淡的忧伤。