Jsp에서 Js Template literals 사용 방법

템플릿 리터럴이 비어서 도착한다?!

throw new Error(`HTTP Error! status : ${body.status}, message : ${body.message}`);

이렇게 전달했지만, 브라우저에서 확인 하니

throw new Error("HTTP Error! status : , message : ");

이런 식으로 비어서 전달되었다. JSP의 EL 표현식과 JS의 템플릿 리터럴이 중복되어 생기는 문제라고 생각되어 검색해보았다.

해결 방법

${}으로 한 번 더 감싸기

이 경우, 한 번 더 감싸주면 해결된다. Jsp EL의 탐색 방법

  1. page, request, session, context 에서 값을 찾음
  2. null이면 아무것도 출력하지 않고 interpolation 부분을 지워버림
  3. null 이 아니면 toString() 값을 끼워넣음
throw new Error(`HTTP Error! status : ${'${body.status}'}, message : ${'${body.message}'}`)

Reference

댓글

개발자  김철준

백엔드 개발자 김철준의 블로그입니다.

주요 프로젝트