타임리프에는 아래와 같이 4개의 리터럴이 있다.
타임리프에서 문자열 리터럴은 항상 ''
사이에 표현해야한다.
<span th:text="'thymeleaf!'"></span>
문자열을 항상 ''
로 감싸서 표현하는 것은 귀찮기 때문에, 공백없이 이어진다면 하나의 문자열로 인식해서 ''
를 생략할 수 있다.
❗️다만, 아래에 해당하는 문자만 가능.
A-Z
,a-z
,0-9
,[]
,,
,.
,-
,_
이와 같이 공백이 없다면 문자열로 인식하여 ''
없이도 표현이 가능하다.
<span th:text="thymleafIsGood2024"></span>
이와 같이 공백이 없이 표현하면 정상적으로 인식하여 출력이 된다.
다만, 아래와 같이 공백이 들어가는 경우 에러가 발생한다.
<span th:text="How Are you"></span> //에러 발생
따라서 이런 경우는 아래와 같이 작은따옴표로 감싸주면 에러가 발생하지 않는다.
<span th:text="'How Are you'"></span>
''
대신에 ||
를 활용해서 대체로 표현할 수 있다. 이 경우 장점은 Model에 넘어온 값을 +
하지 않아도 한 번에 표현할 수가 있다.
<span th:text="'data = ' + ${data}"></span>
위와 아래는 완전히 동일한 표현이다. 문자열을 +로 결합할 필요가 없어 더욱 직관적이다.
<span th:text="|data = ${data}|"></span>