javax.el.PropertyNotFoundException: Property [변수명] not found on type java.lang.String
jstl을 사용할 때 오타가 있으면 나는 에러라고 한다.
이 오류에 관해 검색했는데
1. 오타가 난 경우
2. 공백
3. <c:forEach items="${변수명}" 인데 ${}를 빼먹었을 경우
4. 변수명 첫글자가 대문자인 경우
5. 참조되는 클래스에 public을 붙이지 않은 경우
이 에러가 뜬다고 나온다.
하지만 나의 경우 눈씻고 찾아봐도 오타도 공백도 뭘 빼먹은 것도 없었는데 저 에러가 나왔다...(는 결국 착각이었지만)
나는 new라는 변수를 사용했는데 이걸 그대로 el에 넣고 사용하면
javax.el.ELException: Failed to parse the expression~ 에러가 발생한다.
이 에러는 톰캣7이후부터 new, class, static 같은 java키워드는 사용하지 못하도록 변경되었기 때문에 나온다고 한다.
그래서 어느 블로그에서 본 방법을 따라 'new'로 따옴표를 붙였고(!) 그 결과..
javax.el.PropertyNotFoundException 에러가 계속 발생함 ㅋㅋ
지금 생각해보면 그냥 오타라서 나는 오류였구나 싶은데 그 때는 영문을 몰랐다..^^
그래서 오늘 오후까지 계속 고통받다가 결국 에러 해결함!
해결법은 두가지가 있었다.
(오타 문제였으므로 결국 javax.el.ELException: Failed to parse the expression 에러의 해결법이다)
1. 변수명을 변경한다.
변수명에 자바키워드가 들어가서 나는 에러이므로 해당 변수명 자체를 new_ 등으로 약간 변경했더니 바로 잘 돌아갔다^_^
2. 서버의 설정을 변경한다.
Servers ->톰캣폴더 -> catalina.properties 맨 아래에
org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
를 추가해주면 new를 그대로 써도 문제없이 돌아간다.
이런 삽질로 3일 내내 고생했다니....ㄱ-
하지만 동생의 도움으로 제대로 디버깅하는 법을 알게되었다ㅎㅎ
앞으로는 에러가 났을 때 적어도 어디서 났는지 뭐가 문제인지 좀 더 빨리 찾을 수 있을 것 같아서 기분이 좋다~
'일기' 카테고리의 다른 글
0713 일기 (0) | 2022.07.13 |
---|---|
0610 일기 (0) | 2022.06.10 |
0523 일기 (0) | 2022.05.23 |
이클립스 깃허브 로그인 오류( can't connect to any~) (0) | 2022.05.22 |
정보처리기사 필기 합격 후기 (0) | 2022.05.19 |