이번에도 에러났다
USD_RATE를 변수로 확인할 수 없다고 한다.
그렇다고 한다!
이클립스에서 cannot be resolved to a variable 에러가 다수 발생한다..
이 에러는 JSP Include 시 Include된 파일에서 선언한 변수를 참조하기 못해 발생하는 에러다.
제대로 개발된 소스라면..
실행 자체에는 문제없다, 다만 보기 싫을 뿐인데.. 나처럼 신경이 쓰인다면 경고하지 않도록 아래와 같이 설정해보자
이클립스
Window → Preferences → Web → JSP Files → Validation → Expression Language → EL Syntax problem 를 Ignore 로 설정 |
그런데 EL 이 무엇인데..
문법문제를 Ignore(무시) 설정해도 되는것일까?
EL(Expression Language) 이란
- 표현식으로 attribute나 parameter 등을 JSP파일에서 출력할 용도로 사용하는 언어
- JSP 2.0에서 추가된 스크립트 언어
- 기존의 expression tag(<%= %>)의 업그레이드 버전
- attribute를 출력할 때는 $[애트리뷰트 이름]으로 출력하고,
- 파라미터는 ${param.이름} 또는 ${paramValue.이름[인덱스]}의 형태로 출력
라고 정의되어 있다. 즉. ${변수명} 등으로 표현된 표시에 대한 문법을 무시하라는 설정으로
EL Syntax problem 에 대해 Ignore 설정 후에는, 개발할때 EL에 대한 체크를 도움받지 못하는 것이니 기억해야 할것이다.
끝
출처: https://www.ihee.com/159 [희야의 소소한 일상]
라고해서 될줄 알았는데 안됐다. 근데 저 USD_RATE가 어디에 선언된 변수일까 객체안에 있는 앤가?
싶었다. 그런데 예제코드를 찾아보니
public class CalcServlet extends HttpServlet { |
private static float USD_RATE = 1124.70F; |
private static float JPY_RATE = 10.113F; |
private static float CNY_RATE = 163.30F; |
private static float GBP_RATE = 1444.35F; |
private static float EUR_RATE = 1295.97F; |
라는 부분이 쓰여져 있었다.
이부분을 안써서 생긴 에러였다!
그런데 여전히 localhost:8090/pro06/clac로 들어가면 백지였다
검사를 해보니 모든게 title안에 들어가 있었다. 그래서 title을 확인해보니
요렇게 </title>이 아닌<title>이 있었다. 수정하자 제대로 화면이 떴다.
에러 찾아 삼만리였다. 생각지도 못한 문제때문에 화면이 안나오고 있었다T^T
'자바 웹을 다루는 기술' 카테고리의 다른 글
eclipse에서 패키지가 폴더로 보일 때 (0) | 2020.09.16 |
---|---|
input tag에 hidden속성 (0) | 2020.09.16 |
response cannot be resolved (0) | 2020.09.16 |
6.4 서블릿 응답 처리 방법MIME-TYPE (0) | 2020.09.16 |
the import javax.servlet resolved 에러 해결방법 (0) | 2020.09.16 |