인프런 김영한님의 Spring강의에서 공부한것을 올리며, Thymeleaf의 경우 unit 단위로 공부후 각각 정리하는 글을 작성하겠습니다.
리터럴
타임리프에는 대표적으로 다음과 같은 리터럴들이 있습니다. 리터럴은 일반적으로 소스 코드상에 고정된 값을 말하죠!
문자: 'hello'
숫자: 10
불린: true, false
null: null
타임리프에서는 문자 리터럴의 경우 항상 '(작은 따옴표) 로 감싸줘야 합니다.
<span th:text="'hello'">
문제는... 이게 항상 ' 로 감싸는게 귀찮다는 점 이죠.
따라서 타임리프에서는 공백없이 쭉 이어진 경우 의미있는 토큰으로 인식하여 다음과 같이 따옴표를 생략할수도 있습니다.
<span th:text="hello">
하지만 다음과 같이 공백이 있는경우에는 오류를 발생합니다. 다음 코드는 따옴표로 감싸줘야 합니다.
<span th:text="'hello world!'"></span>
예제
우선 컨트롤러부터 하나 만들어 봐야겠죠?
@GetMapping("/literal")
public String literal(Model model){
model.addAttribute("data", "zbqmgldjfh!");
return "basic/literal";
}
이를 처리할 뷰는 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>리터럴</h1>
<ul>
<li>'hello' + ' world!' = <span th:text="'hello' + ' world!'"></span></li>
<li>'hello world!' = <span th:text="'hello world!'"></span></li>
<li>'hello ' + ${data} = <span th:text="'hello ' + ${data}"></span></li>
<li>리터럴 대체 |hello ${data}| = <span th:text="|hello ${data}|"></span></li>
</ul>
</body>
</html>
실행 결과는 다음과 같습니다.
맨 마지막에 사용한 리터럴 대체에 대하여 좀더 알아봅시다!
리터럴 대체 - |...|
|...| : 이렇게 사용합니다.
타임리프에서 문자와 표현식 등은 분리되어 있기 때문에 더해서 사용해야 하죠.
<span th:text="'Welcome to our application, ' + ${user.name} + '!'">
다음과 같이 리터럴 대체 문법을 사용하면, 더하기 없이 편리하게 사용할 수 있다.
<span th:text="|Welcome to our application, ${user.name}!|">
'BackEnd > Thymeleaf' 카테고리의 다른 글
[Thymeleaf] 속성 값 설정 (0) | 2022.01.27 |
---|---|
[Thymeleaf] 연산 (0) | 2022.01.26 |
[Thymeleaf] URL 링크 (0) | 2022.01.26 |
[Thymeleaf] 유틸리티 객체와 날짜 (0) | 2022.01.26 |
[Thymeleaf] 기본 객체들 (0) | 2022.01.26 |
댓글