IT/JAVA

Javascript JSTL String 변수에 개행문자 있을 때(Uncaught SyntaxError: Invalid or unexpected token)

꾼헨 2023. 8. 28. 11:25
728x90
반응형

원인

var html = ''
 + ...
 <c:forEach items="${historyExecutList }" var="item" varStatus="status">
 + ...
 + '    <td><c:out value="${item.col1}"/></td>'
 + ...
 </c:forEach>
 + ...
;

과 같이 html을 생성 도중 JSTL변수 col1의 값이 

"가나다

 

라마바사"

 

와 같이 개행문자가 들어있었고 

개발자 도구의 콘솔에서는 Uncaught SyntaxError: Invalid or unexpected token오류를 뱉고 있었다.

 

해결 방법

' 을 `(백틱)으로 바꿔주기

 + `    <td><c:out value="${item.col1}"/></td>`

 

js에서 

var test = '가나

다라마';

와 같이 변수 선언이 안되는 것을 생각하면 쉬운 해결방법이다.

 

예전 프로젝트 할 때 왜 굳이 멀리있는 ` 를 사용하지 했었는데.. 다 이유가 있던 것이었다.

728x90
반응형