1) 관련 소스
....
if(~~~)
String tempDate = sdFormat.format(nowDate);
model.addAttribute("list", dao.listDao(tempDate));
model.addAttribute("view_date", tempDate);
}
.....
2) 에러 구문
org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'param1' in 'class java.lang.String'
3) 원인
해당 변수에 getter를 보고 없으면 내는 에러
String만 발생하고, if구문 이하 절에서만 발생한다.
(int, long 등은 발생하지 않고, 조건절 없이 진행시 String도 문제 없었음)
관련하여 잘 정리한 블로그 글
http://everydaycoding.tistory.com/category/Springframework
4) 해결 방안
위 블로그에서 확인 가능
정리하자면 DTO 만들어서 보내거나 지정 변수를 쓰면 가능
(무조건 getter를 찾는데 있으면 실행에 이상없음)
여기서는 DTO를 만드는게 좀더 빨리 해결되어 아래처럼 수정하여
이슈 완료.
Controller.java (History_Date_dto 라는 객체를 만들어 통째로 넣음)
History_Date_dto tempDate = new History_Date_dto();
tempDate.setReservDate(sdFormat.format(nowDate));
model.addAttribute("list", dao.listDao(tempDate));
History_Date_dto.java (객체 생성 getter, setter 보유)
package com.javalec.spring_pjt_board.dto;
public class History_Date_dto {
String reservDate;
public History_Date_dto(){
}
public History_Date_dto(String reservDate){
this.reservDate = reservDate;
}
public String getReservDate() {
return reservDate;
}
public void setReservDate(String reservDate) {
this.reservDate = reservDate;
}
}
BDao.java (DAO 단에서도 통째로 넣으면 이상없이 진행됨)
ArrayList<History_Dto> listDao(History_Date_dto tempDate);
댓글 없음:
댓글 쓰기