⚠️ th:text 대신 [[…]] 를 사용해도 전부 정상 작동 된다.
- 소스코드상에서 고정된 값을 말하는 용어이다.
- “Hello” 는 문자 리터럴
- 10, 20 은 숫자 리터럴
- 이 외에도 Boolean 과 null 이 존재한다.
String a = "hello"
int a = 10 * 20
✏️ 리터럴 사용하기
📍 문자리터럴 규칙
- Thymeleaf 에서 문자 리터럴은 작은따옴표 ‘ ‘ 로 감싸주는 것이 규칙이다.
<span th:text="'hello'">
- 하지만 작은따옴표 ‘ ‘ 는 조건만 맞다면 생락할 수 있다.
- A-Z , a-z , 0-9 , [] , . , - , _
- 이런 문자들로 이루어져있는 문자리터럴은 ‘ ‘ 를 생략할 수 있다.
<span th:text="hello">
- 이런 식으로 하나라도 조건에 맞지않은 문자가 포함되있다면 인식되지 않는다.
- 엄밀히 말해 ‘ ‘ 로 묶어주지 않으면 두개의 토큰으로 인식된다.
<span th:text="hello world"> // 공백문자 때문에 에러가 발생함
<span th:text="'hello world'"> // '' 가 있기때문에 정상 작동함
- 리터럴과 리터럴, 리터럴과 변수는 + 연산자로 String 처럼 더해질 수 있다.
<span th:text="'hello' + ' world!'"></span> // hello world!
<span th:text="'hello ' + ${data}"></span> // hello world!
📍 리터럴 대체 문법
- 연산자 없이 변수와 변수, 리터럴과 변수를 더할 수 있음
<span th:text="|hello ${data}|"></span> // hello world!