템플릿 리터럴이 비어서 도착한다?!
throw new Error(`HTTP Error! status : ${body.status}, message : ${body.message}`);
이렇게 전달했지만, 브라우저에서 확인 하니
throw new Error("HTTP Error! status : , message : ");
이런 식으로 비어서 전달되었다. JSP의 EL 표현식과 JS의 템플릿 리터럴이 중복되어 생기는 문제라고 생각되어 검색해보았다.
해결 방법
${}으로 한 번 더 감싸기
이 경우, 한 번 더 감싸주면 해결된다. Jsp EL의 탐색 방법
- page, request, session, context 에서 값을 찾음
- null이면 아무것도 출력하지 않고 interpolation 부분을 지워버림
- null 이 아니면 toString() 값을 끼워넣음
throw new Error(`HTTP Error! status : ${'${body.status}'}, message : ${'${body.message}'}`)