>  기사  >  웹 프론트엔드  >  Struts嵌套遍历_html/css_WEB-ITnose

Struts嵌套遍历_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 12:02:261188검색

设计菜单实体类如下:

public class Menu implements Serializable {        private int id;	private String menuName; // 菜单名称	private String menuUrl; // 菜单url	private int menuParent; // 父菜单编号	private List<Menu> children;// 子菜单}

????????????????????????????????????????????????????
在jsp如何使用Struts标签遍历显示:
我的代码:
<!-- 菜单开始 --><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的


使用for循环遍历可以,但是使用s标签不可以,麻烦帮忙看下标签哪里有错误。
<!-- 菜单开始 -->    <%	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标签实现,淡淡的忧伤。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.