➍
<button class="btn btn-default" name="_eventId_backToCustomerInfo">이전</button>
<input type="submit" class="btn btn-primary" value="등록" name="_eventId_shippingInfo"/>
<button class="btn btn-default" name="_eventId_cancel">취소</button>
</div>
</div>
</fieldset>
</form:form>
</div>
</body>
</html>
➊ 배송 정보의 폼 페이지에서 입력된 데이터를 바인딩하려면 modelAttribute 속성을 사용하여 커맨드 객체 order.shipping으로 설정합니다.
➋ 장바구니에 담긴 도서를 주문할 때 배송의 세부 사항으로 성명, 배송일, 국가명, 우편번호, 주소, 세부 주소 등을 입력받습니다. 배송일을 입력할 때 유효성 검사로 오류가 발생하면 메시지를 출력합니다.
➌ _flowExecutionKey는 웹 플로우에서 플로 순번의 키 값을 가집니다. 예를 들어 배송 세부 사항의 뷰 페이지에 대한 요청 URL이 http://localhost:8080/Chapter15/checkout?execution=els2라면 _flowExecutionKey 값은 els2가 됩니다.