본문 바로가기

Framework/Spring Boot

Thymeleaf message.properties 동적으로 값 넣기

Spring Boot Thymeleaf message.properties 동적 값 넣기 Dynamic Binding

 

Thymeleaf message.properties에 변수를 정의하고 동적으로 값을 할당해 보겠습니다.

 


 

개인화 Personalization 등으로 전체적인 내용은 같은데 시간, 이름 등 특정 부분만 변경되는 메시지들이 있습니다.

  • 안녕하세요, {NAME}님! (로그인일시 : {DATE})
  • 종료 기간은 {DATE}입니다.

변수 설정하기

변경되는 부분을 {}(curly bracket, 중괄호)으로 변수 처리합니다.

변수들은 개수 제한이 없고, 메소드 파라미터와 같이 0부터 순서대로 매핑됩니다.

중괄호 안에 0부터 시작하는 인덱스를 삽입하고, 메시지를 정의합니다.

// message.properties
msg.login.ok=안녕하세요, {0}님! (로그인일시:{1})	// param1 : 이름, param2 : 날짜

 

사용하기

메소드 호출하듯 파라미터로 메시지에 바인딩할 데이터를 순서대로 넘겨줍니다.

<!--
modelAttribute
user {
	name : 'Judy',
    date : '2024-04-10 13:27:10',
	// ...
}
-->
<p th:text="#{msg.login.ok(${user.name}, ${user.date})}"></p>
<!-- 안녕하세요, Judy님! (로그인일시:2024-04-10 13:27:10) -->

 

728x90