더북(TheBook)

    <form:form name="addForm" method="put">
        <p><a href="javascript:addToCart('../cart/add/${book.bookId}')" class="btn btn-primary">도서주문 &raquo;</a>
        <a href="<c:url value="/cart"/>" class="btn btn-warning">장바구니 &raquo;</a>
        <a href="<c:url value="/books"/>" class="btn btn-default">도서 목록 &raquo;</a>
    </form:form>
...

스프링에서 제공하는 폼 태그 라이브러리를 사용하려고 선언합니다.

애플리케이션에 적용할 자바스크립트 파일 controllers.js의 경로 위치를 설정합니다. 여기에서 ${pageContext.request.contextPath}는 요청 경로가 바뀌어도 소스를 수정하지 않고 적용하는 데 사용됩니다.

예를 들어 요청 URL이 http://localhost:8080/BookMarket/resource/js/controllers.js라면 pageContext.request.contextPath는 http://localhost:8080/Chapter14/ 경로에 해당됩니다.

스프링에서 제공하는 폼 태그 라이브러리 중 <form:form> 태그를 사용하여 [도서주문 >>] 버튼 동작을 수행하는 설정을 추가했습니다. 도서주문 >> 버튼을 누르면 자바스크립트의 addToCart() 함수가 호출됩니다. 또한 <form:form> 태그에 선언된 웹 요청 URI ../cart/add/${book.bookId} 및 HTTP 메서드가 PUT 방식으로 전송됩니다. CartController 클래스의 addCartByNewItem() 메서드에 매핑되어 해당 도서가 장바구니에 추가로 등록됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.