자바 스크립트에 변수를 저장하는 방법은 두가지가 있다.

<script>
    function checkLogin() {
        alert("접속");
        var id = '${sessionID}'; // 방법1
        // 방법2 방법2가 jstl로 값을 저장하는 느낌을 직관적으로 준다.
        var id = '<c:out value='${sessionID}' /> 
        alert(id);
        if (id == '') {
            alert("로그인 후 글쓰기가 가능합니다.");
            return false;
        } else {
            location.href = '/board/insertBoard.jsp';
        }
    }
</script>

필자는 방법1과 같이 진행하였다.

그런데 아래와 같이 글쓰기 버튼을 클릭하여도 반응이 없다.

이유는 ''과 null 처리이다.

sessionID를 alert으로 출력해보니 null값이 아닌 공백 문자가 출력되고 있었다.

코드를 아래와 같이 수정하였다.

<script>
    function checkLogin() {
        var id = '${sessionID}'; // 수정 ''처리
        alert(id);
        // 수정 ''공백 비교
        if (id == '') {
            alert("로그인 후 글쓰기가 가능합니다.");
            return false;
        } else {
            location.href = '/board/insertBoard.jsp';
        }
    }
</script>

글쓰기 버튼 클릭시 아래와 같은 알럿이 정상 출력된다.

로그인 후 글쓰기를 해보자

정상적으로 글쓰기 페이지로 넘어간다.

여기서 중요한 부분은 변수에 ${jstl 값}을 저장하기 위해서는 ''으로 묶어야 한다는 점이다. 이 부분을 기억하도록하자.

+ Recent posts