Java/Thymeleaf

리터럴

코딩공부 2021. 12. 2. 23:27

Literals

리터럴은 소스 코드상에 고정된 값을 말하는 용어

"Hello" 는 문자 리터럴

10 , 20 는 숫자 리터럴

 

String a = "Hello"

int a = 10 * 20

 

 

Thymeleaf의 리터럴 

 

문자: 'hello'

숫자: 10

불린: true , false

null:  null

 

 

Thymeleaf 에서의 문자 리터럴은 항상 ' (작은 따옴표)로 감싸야 한다.

<span th:text="'hello'">


rule = A-Z , a-z , 0-9 , [] , . , - , _

 

공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략 가능 !


 

오류

 

<span th:text="hello world!"></span>  - error 발생

 

문자 리터럴은 원칙상 ' ' 로 감싸야 한다.

중간에 공백이 있어서 하나의 의미있는 토큰으로도 인식되지 않는다.

 

 

수정

<span th:text="'hello world!'"></span> 

이렇게 ' 로 감싸면 정상 동작한다.

 

@GetMapping("/literal")
public String literal(Model model) {
 model.addAttribute("data", "Spring!");
 return "basic/literal";
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<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 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>

리터럴 대체(Literal substitutions)

<span th:text="|hello ${data}|">

마지막의 리터럴 대체 문법을 사용하면 마치 템플릿을 사용하는 것 처럼 편리

 

참고 강의

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard

 

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의

웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있

www.inflearn.com

 

'Java > Thymeleaf' 카테고리의 다른 글

속성 값 설정  (0) 2021.12.03
연산  (0) 2021.12.03
URL 링크  (0) 2021.12.02
유틸리티 객체와 날짜  (0) 2021.12.02
기본 객체들  (0) 2021.12.02