2019. 5. 28. 11:27ㆍ프로그래밍/JavaScript
참고 : https://okky.kr/article/377148
기초적인건데 몰라서 고생할수가 있어서 정리한다.
1.자바스크립트 영역에 el태그 var a = '${exam}' 이런식이나 var b = ${exam2} 이런식으로 사용하는데 따옴표가 있고 없고의 차이는 무엇일까.
var a = "hello";
var a = hello;
이렇게 보면 바로 이해될 것이다. 따옴표는 javascript 문자열이므로 만약 el로 불러온 변수 exam에 할당된 값이 문자열임에도 불구하고 따옴표를 붙이지 않으면 출력 자체가 되지 않는다.
이해를 돕기 위해 위의 참고 이미지를 보자.
vzipcode에 할당된 값은 "08376" 이라는 문자열이다. 하지만 var a의 경우 el태그에 따옴표를 붙이지 않아 숫자로 인식되었고 숫자타입은 앞에 0이 올 수 없기 때문에 0이 빠진 8376이란 숫자가 변수 a에 할당되었다.
그리고 변수 b와 c에는 el 태그에 각각 '' 또는 "" 등의 따옴표를 사용해 주었기 때문에 문자열로 인식되어 온전한 5자리 숫자가 출력되었다.
2.자바스크립트에서 el이나 jstl을 사용할 수 있는 이유는?
el이나 jstl 태그는 서버측 변수 및 태그이다. 따라서 html로 만들어질때는 실제값으로 변경되어 들어가게 된다.
실행순서는 다음과 같다.
순서 : java -> jstl -> html -> javascript
jstl 까지 서버단에서 처리가 끝난 html 을 클라이언트에서 파싱 후 javascript 를 처리한다.
즉, 서블릿이 jsp를 완성된 html로 만들어서 서버에서 클라이언트로 전송하는 것이므로 클라이언트 언어인 javascript와는 관련이 없게 되는 것이다.
단, jsp외부로 js를 빼면 작동하지 않을 것이다. 서버는 jsp를 처리하지 외부에서 임포트되는 js를 처리하지는 않기 때문이다.
'프로그래밍 > JavaScript' 카테고리의 다른 글
팝업창 중앙정렬 가운데 위치시키는 방법 (0) | 2019.05.27 |
---|---|
jQuery 구버전과 최신버전의 혼용 - jQuery Migrate (0) | 2019.05.24 |
JQueryMobile 사용시 페이지 이동시 자바스크립트가 안될때 (0) | 2019.05.17 |
jQuery만으로 비동기 파일 업로드 (0) | 2019.05.16 |
Springframework, Ajax에서 한글이 물음표로 나오는 현상 (0) | 2019.05.16 |