타입리프의 인라인 표현식과 국제화에 대해 알아보자.
이 두 기능을 통해 동적 스크립트 생성, 다국어 지원 등 다양한 요구사항을 유연하고 효과적으로 처리할 수 있다.
인라인 표현식은 자바스크립트와 CSS에 서버 사이드 데이터를 직접 적용할 수 있게 하며, 국제화 기능은 다양한 언어의 사용자들에게 맞춤형 콘텐츠를 제공해준다.
(웹 애플리케이션의 사용자 경험과 접근성 향상)
인라인 표현식 >>
th:inline="javascript" 와 th:inline="text"
HTML 내에서 자바스크립트 또는 일반 텍스트에 타임리프 표현식을 직접 사용해서 동적으로 데이터를 다룬다.
th:inline = "javascript" : 자바스크립트 내에서 타임리프 변수를 직접 사용할 수 있게 한다.
th:inline = "text" : 일반 텍스트 내에서 타임리프 변수를 사용할 수 있게 한다.
<script th:inline="javascript">
var username = [[${user.name}]];
alert('Hello, ' + username + '!');
</script>
위 예시에서, [[${user.name}]] 은 타임리프를 통해 서버 사이드에서 user.name 값을 자바스크립트 변수에 할당한다.
<p th:inline="text">Welcome to our application, [[${user.name}]]!</p>
[[${user.name}]] 은 HTML 텍스트 내에서 사용자 이름을 동적으로 표시한다.
국제화 >>
다양한 언어 및 지역 설정에 따라 텍스트를 동적으로 변경하여 다국어 지원을 제공한다.
messages 파일을 여러 언어로 작성하고, 타임리프의 메시지 표현식 ('#{...}')을 사용하여 적용하면 된다.
#messages_en.properties
welcome.message=Welcome, user!
#messages_ko.properties
welcome.message=환영합니다, 사용자님!
<p th:text="#{welcome.message}">Default welcome message</p>
위 코드에서 타임리프는 사용자의 언어 설정에 따라 적절한 welcome.message 를 선택한다.
'JAVA > SpringBoot' 카테고리의 다른 글
Spring Boot 애플리케이션 시작 실패 원인 분석: FailureAnalyzer 인터페이스 활용 (0) | 2024.04.20 |
---|---|
SpringBoot 사용자 인증 구현: 인증 과정과 BCryptPasswordEncoder 활용 (0) | 2024.03.26 |
타임리프를 활용한 웹 페이지 레이아웃과 디자인 (0) | 2024.03.26 |
스프링부트 + 타임리프: 폼 바인딩과 유효성 검사 (0) | 2024.03.26 |
타임리프의 표현식과 예제 (0) | 2024.03.26 |