본문 바로가기

JAVA/JAVA-Project

[스프링] 독서실 관리 프로그램 1인 1좌석 자바스크립트 21. 05. 26.

개요

좌석 배치도에서 이용자가 등록 버튼을 누르면, 회원이 아닐 때 로그인을 유도하고 이미 이용중인 좌석이 있는 회원은 '1인 1좌석'원칙을 알린다.

seat.jsp에서 스크립트 처리

 

$(function() { //ready
    /* 각 좌석의 등록버튼을 눌렀을 때 modal 띄우는 이벤트 */
    $(".sRegBtn").click(function() {
        var result = confirm($(this).attr('value') + "번 좌석을 등록하시겠습니까?");
        var sno = $(this).data("sno"); /* 등록 버튼에 해당하는 좌석 번호 */
        var user = '${member.vo.userNo}';

        if(user =='') {
            alert("로그인 후 이용하실 수 있습니다.");
            return false;
            } else { // 로그인 한 상태
                <c:forEach items="${seatList}" var="seat">
                    if(${seat.userNo} == user) { // 등록된 좌석목록에 유저 번호가 있으면 alert
                        alert("1인 1좌석만 이용가능 합니다.");
                        return false;
                    }
                </c:forEach>
                if(result) {
                    $("#curSno").text(sno);
                    $("#myModal").modal("show");
                }
            }
        });

 

🔶 스프링 시큐리티를 이용했기 때문에 <sec:authentication property="principal" var="member"/>를 이용한 상태다.
🔶 로그인 하지 않고 ${member.vo.userNo}를 콘솔에 찍어보니 빈 값이 나왔고, 이것은 Null이 아닌 ''처리를 해야한다.
🔶 jsp에서 HTML 부분에서만 core 라이브러리를 써봤었는데 (<:forEach>) 구글링을 해보니 <script>에서도 <:forEach>를 쓸 수 있다는 걸 알았다!!