[Spring] EL에서 템플릿 리터럴 인식시키기

2024. 7. 20. 10:32WebBack/Spring

자바스크립트의 ${}(템플릿 리터럴)과 El의 ${}을 제대로 인식하지 못하는 경우가 있다. 

document.getElementById("msg").innerHTML = `<i class="fa fa-exclamation-circle"> ${msg}</i>`;

 

예를 들어서 위 코드의 ${msg}는 자바스크립트의 템플릿 리터럴이다. 하지만 서버측에서 이를 브라우저에서 실행하기 전에 먼저 El로 인식해서 처리하기 때문에 출력이 제대로 되지 않는다. 이를 해결하기 위해서는 ''로 묶고 이를 다시 ${}로 묶으면 된다. 

function setMessage(msg, element){
            document.getElementById("msg").innerHTML = `<i class="fa fa-exclamation-circle"> ${'${msg}'}</i>`;

            if(element) {
                element.select();
            }
       }