Spring/스프링 MVC 활용12 #4 검증 - Validation 검증 - Validation 웹 서비스는 폼 입력 시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 친절하게 알려주어야 한다. 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것이다. 검증 오류 발생시 기본적인 흐름은 다음과 같이 이루어진다. [기존 상품 등록 흐름] [상품 검증 예시] 상품 등록 폼에서 받은 데이터가 검증에 실패할 경우 검증 오류 결과를 모델에 포함해서 상품 등록 폼에 전달한다. 상품 등록폼은 오류 결과가 들어있는 모델을 이용해서 어떤 오류가 발생했는지를 나타낸다. 1. BindingResult 스프링은 검증 오류가 발생했을 때, 오류가 발생한 객체와 필드, 메시지 등을 담을 수 있는 BindingResult라는 객체를 제공한다. Bin.. 2021. 7. 28. #3 메시지, 국제화 메시지, 국제화 웹 페이지 혹은 코드에 사용되는 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다. 예를 들어 messages.properties라는 메시지 관리용 파일을 만들고 자바코드나 HTML에서 해당 데이터를 key 값으로 불러서 사용하는 것이다. [메시지 사용 예 - messages.properties] item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량 [메시지 사용 예 - HTML] 위와 같은 메시지 기능에서 더 나아가 메시지 파일(messages.properteis)을 각 나라별로 별도로 관리하면 서비스를 국제화 할 수 있다. [메시지 사용 예 - messages_en.properties] item=I.. 2021. 7. 27. #2 타임리프 - 스프링 통합 폼 타임리프 - 스프링 통합 폼 타임리프는 스프링 없이도 동작하지만, 스프링과 통합을 위한 다양한 기능을 편리하게 제공한다. 이번에는 편리한 폼 관리를 위한 추가 속성인 th:object와 th:field를 사용해서 기존에 작성했던 상품 관리 폼을 다채롭게 변경해본다. [상품 등록 폼 - 기본] [상품 등록 폼 - 수정] [단일 체크박스]인 판매 여부, [다중 체크박스]인 등록 지역, [라디오 체크] 방식의 상품 종류, [리스트 형식]의 배송방식 부분을 추가한다. 1. 입력 폼 처리 - th:object & th:field 타임리프가 제공하는 입력 폼 기능을 적용해서 기존 프로젝트의 폼 코드를 효율적으로 개선한다. 추가적인 속성은 다음과 같다. · th:object 커맨드 객체를 지정한다. · *{...} .. 2021. 7. 27. #1 타임리프 - 기본 기능 타임리프 - 기본 기능 1. 타임리프 소개 ■ 타임리프 특징 · 서버 사이드 HTML 렌더링 (SSR) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. · 내추럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특징이 있다. 이 때문에 타임리프로 작성된 파일은 해당 파일을 그대로 웹 브라우저에서 열어도 정상적인 HTML 결과를 확인할 수 있다. · 스프링 통합 지원 타임리프는 스프링과 자연스럽게 통합되고, 스프링의 다양한 기능을 편리하게 사용할 수 있게 지원한다. ■ 타임리프 사용 선언 타임리프를 사용하기위해선 html 파일에 다음과 같이 선언해주어야 한다. [타임리프 사용 선언] 2. 텍스트 - text, utext 타임리프는 기본적으로 HTML 태그의 속성에 기능을 정의.. 2021. 7. 25. 이전 1 2 3 다음