[SPRING] JSP에서 List 객체 반복하기
SPRINGJSP에서 List 객체 반복하기
나는 봄과 스트럿을 가르치려고 노력하는 프로젝트를 진행 중이다. 나는 현재 JSP 페이지에 붙어있다. 변수가있는 pojo 클래스와 getters / setter를 사용하여 enjo를 만들었고, 6 개의 채워진 행과 동일한 값을 가진 SQL 테이블도 가지고 있습니다. JdbcTemplate을 통해 데이터베이스에 액세스하고 결과를 목록에 저장 한 다음 이 목록을 request.setAttribute ( "empList", eList)로 설정 한 내 작업 페이지로 전달했습니다. 내 JSP 페이지에서 그 속성을 호출 한 다음 JSTL을 사용하여 반복하려고 시도합니다. 그러나 아무 것도 나타나지 않습니다. 표식 태그 <% = eList %>를 사용하여 체크 한 이후에 내 목록 변수에 데이터가 들어 있고 객체가 다음과 같이 표시됩니다.
[org.classes.database.Employee@d9b02,
org.classes.database.Employee@13bce7e,
org.classes.database.Employee@171cc79,
org.classes.database.Employee@272a02,
org.classes.database.Employee@137105d,
org.classes.database.Employee@1359ad]
아마도 jstl에 뭔가 빠져있는 것 같았지만 jstl-1.2가 META-INF / lib 폴더에 있습니다. 또한 configure path 파일에 추가하려고했지만 아직 아무것도하지 않았습니다. 나는 또한 정확한 꼬리표 URL을 가지고있다. 또한 간단한
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.List"%>
<!DOCTYPE html>
<% List eList = (List)session.getAttribute("empList");%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Details</title>
</head>
<body>
<c:out value="Hello"></c:out>
<h3>Employee Details</h3>
<hr size="4" color="gray"/>
<table>
<%=eList%>
<c:forEach items="${eList}" var="employee">
<tr>
<td>Employee ID: <c:out value="${employee.eid}"/></td>
<td>Employee Pass: <c:out value="${employee.ename}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
어떤 도움을 주시면 감사하겠습니다!
해결법
-
==============================
1.Spring과 Struts를 가르치기 전에 Java를 배워야합니다. 이 같은 출력
Spring과 Struts를 가르치기 전에 Java를 배워야합니다. 이 같은 출력
org.classes.database.Employee@d9b02
모든 객체가 Java의 모든 클래스의 수퍼 클래스 인 Object 클래스에서 상속하는 Object # toString () 메서드의 결과입니다.
List 하위 클래스는 모든 요소를 반복하고 해당 요소에 대해 toString ()을 호출하여이를 구현합니다. 그러나 Employee 클래스에서 메소드를 구현 (오버라이드)하지 않은 것처럼 보입니다.
여기에 JSTL
<c:forEach items="${eList}" var="employee"> <tr> <td>Employee ID: <c:out value="${employee.eid}"/></td> <td>Employee Pass: <c:out value="${employee.ename}"/></td> </tr> </c:forEach>
eList라는 페이지, 요청, 세션 또는 응용 프로그램 범위 속성이 없다는 점을 제외하고는 아무 문제가 없습니다.
추가해야합니다.
<% List eList = (List)session.getAttribute("empList"); request.setAttribute("eList", eList); %>
또는 forEach에서 empList 속성을 사용하십시오.
<c:forEach items="${empList}" var="employee"> <tr> <td>Employee ID: <c:out value="${employee.eid}"/></td> <td>Employee Pass: <c:out value="${employee.ename}"/></td> </tr> </c:forEach>
-
==============================
2.forEach 태그에서 직접 empList를 읽을 수 있습니다.
forEach 태그에서 직접 empList를 읽을 수 있습니다.
<table> <c:forEach items="${sessionScope.empList}" var="employee"> <tr> <td>Employee ID: <c:out value="${employee.eid}"/></td> <td>Employee Pass: <c:out value="${employee.ename}"/></td> </tr> </c:forEach> </table>
-
==============================
3.코드를 다음과 같이 변경하십시오.
코드를 다음과 같이 변경하십시오.
<%! List eList = (ArrayList)session.getAttribute("empList");%> .... <table> <% for(int i=0; i<eList.length;i++){%> <tr> <td><%= ((Employee)eList[i]).getEid() %></td> <td><%= ((Employee)eList[i]).getEname() %></td> </tr> <%}%> </table>
-
==============================
4.
<c:forEach items="${sessionScope.empL}" var="emp"> <tr> <td>Employee ID: <c:out value="${emp.eid}"/></td> <td>Employee Pass: <c:out value="${emp.ename}"/></td> </tr> </c:forEach>
-
==============================
5.지도가 포함 된 ArrayList를 반복 할 때 scriplets가있는 또 다른 예입니다.
지도가 포함 된 ArrayList를 반복 할 때 scriplets가있는 또 다른 예입니다.
<% java.util.List<java.util.Map<String,String>> employees=(java.util.List<java.util.Map<String, String>>)request.getAttribute("employees"); for (java.util.Map employee: employees) { %> <tr> <td><input value="<%=employee.get("fullName") %>"/></td> </tr> ... <%}%>
from https://stackoverflow.com/questions/20789207/iterating-through-a-list-object-in-jsp by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Cloud Configuration Server가 로컬 속성 파일로 작동하지 않습니다. (0) | 2019.01.02 |
---|---|
[SPRING] Spring MVC의 서블릿 매핑에서 url 패턴 디렉토리의 루트를 어떻게 매핑 할 수 있습니까? (0) | 2019.01.02 |
[SPRING] 스프링 종속성 삽입 Autowiring Null [duplicate] (0) | 2019.01.02 |
[SPRING] XML 네임 스페이스는 어떻게 작동합니까? (0) | 2019.01.02 |
[SPRING] 스프링 부트의 기본 스케줄러 풀 크기는 얼마입니까? (0) | 2019.01.02 |