Open jungheyin opened 2 years ago
public List<String> generateTravelDateListById(int travelId) {
// travelId를 통해서 travel을 가져오기
Travel travel = newTravelBO.getTravelById(travelId);
// travel에서 startDate와 endDate가져오기
String startDate = travel.getStratDate();
String endDate = travel.getEndDate();
// return 해줄 List
List<String> travelDateList = new ArrayList<>();
// LocalDate format, String -> LocalDate으로 변환
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyy-MM-dd");
LocalDate startLocal = LocalDate.parse(startDate, formatter);
LocalDate endLocal = LocalDate.parse(endDate, formatter);
// 무한루프 돌려서 List에 startLocal ~ endLocal 날짜 모두 String으로 바꿔서 list에 넣
어준다.
int i = 0;
while(true) {
LocalDate plusDay = startLocal.plusDays( i );
String plusDayStr = plusDay.format(formatter);
travelDateList.add(plusDayStr);
// 마지막 날짜와 같을경우 멈추기
if (endLocal.isEqual(plusDay)) {
break;
}
i++;
}
return travelDateList;
}
itinerary의 여행일정 날짜 나타내는 부분
travel에서 시작날짜와 마지막날짜를 가져와서 시작날짜 ~ 마지막 날짜 까지의 날짜를 가져온다. 날짜별로 제목, 일정을 가져올수 있게한다.
jstl로 가져올수 있다 생각했는데 jstl은 list에있는것을 반복을 돌려서 데이터를 가져와야해서 안된다.
bo에서 list를 만들어서 가져오기로 했다. public List generateTravelDateListById(int travleId) {
} 이렇게 만들어서 가져갈려고 했지만, date는 String으로 만들어야 한다..
} String으로 List를 만들어서 jsp에서 뿌릴수 있다고 한다
Date 객체, Calendar 클래서를 사용해서 리스트안에 넣으려했더니 너무 복잡해서 너무 어려움..ㅣ
=> 열심히 검색하다가 LocalDate 클래스를 알게됨!! Date 객체, Calendar 보단 LocalDate가 더 간단하고 쉽게 사용할 수 있음!! 무한루프를 사용해서 list를 넣을려고 while문을 사용함!!