오봉이와 함께하는 개발 블로그

스프링 MVC 2 - 웹 애플리케이션에 메시지 적용(Thymeleaf) 본문

BE/Thymeleaf

스프링 MVC 2 - 웹 애플리케이션에 메시지 적용(Thymeleaf)

오봉봉이 2022. 8. 18. 02:20
728x90

웹 애플리케이션에 메시지 적용하기

실제 웹 애플리케이션에 메시지를 적용하기 위해 메시지를 추가 등록하자.

messages.properties

label.item=상품
label.item.id=상품 ID
label.item.itemName=상품명
label.item.price=가격
label.item.quantity=수량

page.items=상품 목록
page.item=상품 상세
page.addItem=상품 등록
page.updateItem=상품 수정

button.save=저장
button.cancel=취소

타임리프 메시지 적용

타임리프의 메시지 표현식 #{...}를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다.
예를 들어서 상품이라는 이름을 조회하려면 #{label.item}이라고 하면 된다.

렌더링 전
<div th:text="#{label.item}"></h2>

렌더링 후
<div>상품</h2>

타임리프 템플릿 파일에 메시지를 적용하자.

  • addForm.html
  • editForm.html
  • item.html
  • items.html

페이지 이름에 적용
<h2>상품 등록 폼</h2>
-> <h2 th:text="#{page.addItem}">상품 등록</h2>

레이블에 적용
<label for="itemName">상품명</label>
-> <label for="itemName" th:text="#{label.item.itemName}">상품명</>
-> <label for="price" th:text="#{label.item.price}">가격</label>
-> <label for="quantity" th:text="#{label.item.quantity}">수량</label>

버튼에 적용
<button type="submit">상품 등록</button>
-> <button type="submit" th:text="#{button.save}">저장</button>
-> <button type="button" th:text="#{button.cancel}">취소</button>

파라미터 사용법

hello.name=안녕 {0}일 때 <p th:text="#{hello.name(${item.itemName})}"></p>와 같이 작성하면 파라미터를 사용할 수 있다.
th:text="#{hello.name__(${item.itemName})__}"

출처 : 인프런 김영한 지식공유자님 강의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
728x90
Comments