src 경로가 맞는데 화면에서 이미지를 불러오지 못했던 이유 ?
.html에서 이미지를 불러올때 객체 안에 있는 eventImage에서 불러오는것인줄 알았는데 아니었음
(왜냐하면 정상적으로 불러오고 있는 화면에서 eventImage를 불렀는데 null값으로 뜸)
> 그래서 경로를 어떠한 방식으로 불러오는지 추적함
경로는 아무 문제 없이 잘 되어있었는데 DB에서 값을 안가져왔다는것을 알게됨
그래서 EventViewServiceImpl(상세페이지)에서 이미지를 불러왔던것 처럼
리스트에서도 불러오기 위해 EventListServiceImpl에서도 이미지 데이터를 불러와서
set 해줘야한다고 생각했음
그러나 이건 View와 달리 단일값이 아닌 Page형태이기 때문에 for문을 돌려줘야겠다고 판단
>그리고 List와 달리 Page타입은 해당 객체로 for문 돌려주어야함 (.size() 사용불가)
List와 Page의 다른 루프 사용법
기본적으로 List와 Page는 엄연히 다른 차이점이 존재한다
- List
단순히 요소들의 집합
List<String> list = Arrays.asList("item1", "item2", "item3");
// 일반 for 루프
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 향상된 for 루프 (for-each)
for (String item : list) {
System.out.println(item);
}
- Page
페이지네이션된 결과를 나타냄
'Page'는 보통 Spring Data JPA에서 사용되는 인터페이스, 페이징된 데이터를 담고 있음
'Page' 인터페이스는 'List'와 달리 페이지 관련 메타데이터(예: 총 페이지 수, 현재 페이지 번호 등)를 포함하고 있다.
Page<String> page = // 페이징된 결과를 가져오는 코드
// 향상된 for 루프 (for-each)
for (String item : page) {
System.out.println(item);
}
차이점 요약
- List
- 요소의 순서가 있는 컬렉션.
- for 루프를 사용하여 요소를 순회할 수 있음.
- for-each 루프를 사용하여 간편하게 요소를 순회할 수 있음.
- Page
- 페이징된 결과를 나타내는 인터페이스.
- for-each 루프를 사용하여 요소를 순회할 수 있음.
- 페이지 관련 메타데이터(총 페이지 수, 현재 페이지 번호 등)를 제공.
=> Page와 List는 for 루프를 사용할 때 크게 다르지 않지만, Page는 페이징된 데이터를 다룰 때 유용한 추가 메타데이터를 제공합니다. List는 단순한 요소들의 집합을 다루기 위한 것이고, Page는 페이징된 결과를 다루기 위한 것
'Error Note' 카테고리의 다른 글
[Linux] Jenkins 설치중에 yum install 관련 오류 정리 (1) | 2025.03.28 |
---|---|
Docker 실행 시 WSL2 및 BIOS 오류 및 해결법 (1) | 2025.02.03 |
pom.xml에서 Missing artifact 오류 (0) | 2024.07.01 |
[Spring]java.lang.IllegalArgumentException (0) | 2024.07.01 |
create가 제대로 작동하지 않았던 이유 (0) | 2024.06.25 |