일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JavaScript
- 공모주 청약
- jquery
- 코드이그나이터
- linux
- 주식
- 맥
- 6월 공모주 청약 일정
- java
- 주식 청약 일정
- Stock ipo
- MYSQL
- Stock
- 주식 청약
- 자바스크립트
- Oracle
- 자바
- 7월 공모주 청약 일정
- php
- 리눅스
- 오라클
- SQL
- Eclipse
- 제이쿼리
- 공모주 청약 일정
- codeigniter
- 공모주
- html
- css
- IPO
- Today
- Total
개발자의 끄적끄적
[javascript / java] JS(자바스크립트) 에서 JSP 변수 사용하기 본문
[javascript / java] JS(자바스크립트) 에서 JSP 변수 사용하기 [펌]
Spring + JSP로 개발을 하다보면 Spring의 ModelAndView 에서 전달 받은 Attribute와 JSP 변수를
자바스크립트에서 사용해야 되는 경우가 있습니다.
이 경우 손쉽게 자바스크립트에서 JSP 변수와 Spring의 ModelAndView 에서 전달받은 Attribute를 사용할 수 있습니다.
사용 방법은
첫번째- 자바스크립트에서 Spring ModelAndView의 Attribute를 사용하는 방법
var text = '${helloText}';
or
var test = "${helloText}";
(여기서 helloText는 Spring의 ModelAndView 에서 전달해준 Attribute 키 값 입니다.)
로 사용할 수 있습니다.
두번째 - 자바스크립트에서 JSP 변수 사용 방법
우선 JSP에서 변수를 이와 같이 선언합니다.
<% String helloText="Hello~!"; %>
그 후 자바스크립트에서
var text ="<%=helloText%>";
이렇게 해서 사용할 수 있습니다.
이렇게 사용할 수 있는 이유는 JSP 실행 순서가
Java => JSTL => HTML => javascript 이기 때문입니다.
그래서 자바스크립트에서 JSP 혹은 Spring의 ModelAndView 변수를 사용할 수 있지만
반대로는 어렵습니다.
하지만
만약에 JSP 변수 혹은 Spring의 ModelAndView 변수 안에
싱글 쿼테이션(작은따옴표 ') 혹은 더블 쿼테이션(큰 따옴표 ")이
있을 경우 예외 적인 상황이 발생 됩니다.
변수안에 싱글 쿼테이션이 있을 경우 자바스크립트에서
var text = '${helloText}'; 이렇게 선언했을 경우 helloText안에 싱글 쿼테이션이 존재할 경우(ex helloText 값은 hello 'Text)
text의 값은 text = 'hello' Text'; 가 되는데 이렇게 될 경우 브라우저에서
Uncaught SyntaxError: Invalid or unexpected token
오류가 발생합니다.
더블 쿼테이션의 경우 자바스크립트 변수 text를 var text = "${helloText}"; 로 선언하고
helloText안에 더블 쿼테이션이
있다면 위와 같은 오류가 발생하니 주의해 주시기 바랍니다.
마지막으로
개인적으로는 JSP나 JSTL을 사용하는 것보다 Front, Server 단을 나눠서 개발하는것이 더 추천합니다.
출처: https://dev-t-blog.tistory.com/8 [dev-t-blog]
'개발 > java & jsp' 카테고리의 다른 글
[java] 자바 SMTP와 Mail 발송하기(Google, Naver) [펌] (0) | 2020.01.03 |
---|---|
[java] 메일발송 소스 자바 메일 템플릿 html 여부 치환 실전 [펌] (0) | 2020.01.02 |
[java] Gmail SMTP를 이용한 메일 보내기 [펌] (0) | 2019.12.29 |
[java] SMTP프로토콜을 이용하여 메일 보내기 구현(SOCKET)[펌] (0) | 2019.12.29 |
[egovframework] 전자정부프레임워크 페이징 [펌] (0) | 2019.12.27 |