일기

javax.el.PropertyNotFoundException 오류....

토기발 2022. 6. 4. 23:03

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