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;// 子菜单}
????????????????????????????????????????????????????
在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="/static/imghw/default1.png" data-src="images/menu_topline.gif" class="lazy" 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标签实现,淡淡的忧伤。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











중첩된 일반 함수 Go 1.18의 일반 함수를 사용하면 여러 유형에 적용되는 함수를 생성할 수 있으며 중첩된 일반 함수는 재사용 가능한 코드 계층 구조를 만들 수 있습니다. 일반 함수는 서로 중첩되어 중첩된 코드 재사용 구조를 생성할 수 있습니다. 필터를 구성하고 함수를 파이프라인으로 매핑하면 재사용 가능한 유형 안전 파이프라인을 생성할 수 있습니다. 중첩된 일반 함수는 재사용 가능하고 유형이 안전한 코드를 생성하기 위한 강력한 도구를 제공하여 코드를 보다 효율적이고 유지 관리하기 쉽게 만듭니다.

Vue 양식 처리를 사용하여 양식의 재귀 중첩을 구현하는 방법 소개: 프런트 엔드 데이터 처리 및 양식 처리의 복잡성이 계속 증가함에 따라 복잡한 양식을 처리할 수 있는 유연한 방법이 필요합니다. 널리 사용되는 JavaScript 프레임워크인 Vue는 양식의 재귀 중첩을 처리할 수 있는 많은 강력한 도구와 기능을 제공합니다. 이 글에서는 Vue를 사용하여 이러한 복잡한 양식을 처리하는 방법과 코드 예제를 첨부하는 방법을 소개합니다. 1. 양식의 재귀 중첩 일부 시나리오에서는 재귀 중첩을 처리해야 할 수도 있습니다.

Java는 강력한 파일 처리 기능을 갖춘 널리 사용되는 프로그래밍 언어입니다. Java에서는 폴더를 탐색하고 모든 파일 이름을 가져오는 것이 일반적인 작업이므로 특정 디렉터리에서 파일을 빠르게 찾고 처리하는 데 도움이 될 수 있습니다. 이 기사에서는 폴더를 탐색하여 모든 파일 이름을 Java로 가져오는 방법을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 재귀적 방법을 사용하여 폴더를 순회할 수 있습니다. 재귀적 방법은 폴더를 효과적으로 순회할 수 있는 자체 호출 방법입니다.

Struts 프레임워크의 원리 분석 및 실제 탐색 JavaWeb 개발에서 일반적으로 사용되는 MVC 프레임워크인 Struts 프레임워크는 우수한 디자인 패턴과 확장성을 가지며 엔터프라이즈 수준 애플리케이션 개발에 널리 사용됩니다. 이 기사에서는 Struts 프레임워크의 원리를 분석하고 실제 코드 예제를 통해 이를 탐색하여 독자가 프레임워크를 더 잘 이해하고 적용할 수 있도록 돕습니다. 1. Struts 프레임워크의 원리 분석 1. MVC 아키텍처 Struts 프레임워크는 MVC(Model-View-Con)를 기반으로 합니다.

표는 웹 개발의 기본적이고 중요한 측면이며 정보를 질서 있고 명확한 형식으로 표시하는 데 사용됩니다. 그러나 중첩된 테이블을 사용해야 하는 더 복잡한 데이터를 표시해야 하는 상황이 있을 수 있습니다. 중첩 테이블은 다른 테이블 셀 내에 위치한 테이블입니다. 이 문서에서는 개념을 보다 효과적으로 이해하는 데 도움이 되는 그림과 함께 꼼꼼하고 자세한 설명을 통해 HTML로 중첩 테이블을 작성하는 과정을 안내합니다. 귀하가 초보자이건 숙련된 웹 디자이너이건 간에 이 문서에서는 HTML을 사용하여 중첩 테이블을 만드는 데 능숙해지는 데 필요한 지식과 전문 지식을 제공합니다. 중첩 테이블 만들기를 살펴보기 전에 HTML 테이블의 기본 구성을 이해해야 합니다. HTML 테이블은 <table> 요소를 통해 구현됩니다.

중첩된 예외 처리는 중첩된 try-catch 블록을 통해 C++에서 구현되므로 예외 처리기 내에서 새 예외가 발생할 수 있습니다. 중첩된 try-catch 단계는 다음과 같습니다. 1. 외부 try-catch 블록은 내부 예외 처리기에서 발생한 예외를 포함하여 모든 예외를 처리합니다. 2. 내부 try-catch 블록은 특정 유형의 예외를 처리하며 범위를 벗어난 예외가 발생하면 외부 예외 처리기에 제어가 제공됩니다.

PHPglob() 함수 사용 예: 지정된 폴더의 모든 파일 순회 PHP 개발에서는 일괄 작업이나 파일 읽기를 구현하기 위해 지정된 폴더의 모든 파일을 순회해야 하는 경우가 많습니다. 이 요구 사항을 충족하기 위해 PHP의 glob() 함수가 사용됩니다. glob() 함수는 와일드카드 일치 패턴을 지정하여 지정된 폴더에서 조건을 만족하는 모든 파일의 경로 정보를 얻을 수 있습니다. 이 기사에서는 glob() 함수를 사용하여 지정된 폴더의 모든 파일을 반복하는 방법을 보여줍니다.

개념적 차이점: Iterator: Iterator는 컬렉션에서 값을 얻는 반복자를 나타내는 인터페이스입니다. MoveNext(), Current() 및 Reset()과 같은 메서드를 제공하여 컬렉션의 요소를 순회하고 현재 요소에 대해 작업을 수행할 수 있습니다. Iterable: Iterable은 반복 가능한 객체를 나타내는 인터페이스이기도 합니다. 컬렉션의 요소 탐색을 용이하게 하기 위해 Iterator 객체를 반환하는 Iterator() 메서드를 제공합니다. 사용법: Iterator: Iterator를 사용하려면 먼저 Iterator 객체를 얻은 후 MoveNext() 메서드를 호출하여 다음 객체로 이동해야 합니다.
