Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

[Thymeleaf] Literal 본문

인프런/[인프런] 스프링 MVC 2

[Thymeleaf] Literal

Seung__ 2021. 9. 18. 15:18

1. Literal이란?


  • 소스 코드상에 고정된 값(사전적 의미 : 문자 그대로 정확한)
  • 예를들어 "Hello"는 문자 리터럴, 10, 20은 숫자 리터럴임.
    • String a = "Hello"
    • int a = 10 * 20

 

2. Thymeleaf의 Literals


  • 문자: 'hello'
  • 숫자: 10
  • 불린: true , false
  • null: null
  • 문자 리터럴은 항상 '' 작은 따옴표로 감싸야 함.
    • <span th:text=" 'hello' ">
  • 문자를 항상 '...'로 감싸는건 귀찮음..
  • 그래서 공백 없이 쭉 이어진다고하면 의미있는 토큰으로 인지해서 작은따옴표 생략 가능
    • 룰: A-Z , a-z , 0-9 , [] , . , - , _
    • 예시 :<span th:text=" 'hello' "> -> 문자가 공백없이 이어짐 --><span th:text="hello">
  • 하지만 공백이 있으면???
    • <span th:text="hello world!"></span> -> 오류 발생한다.
    • 문자 리터럴은 작은따옴표고 감싸야 한다.
    • <spen th:text=" 'hello world!' "></span>

 

 

3. 예시

3.1 Controller


    @GetMapping("/literal")
    public String literal(Model model) {
        model.addAttribute("data", "Spring!");
        return "basic/literal";
    }

 

3.2 literal.html


 <li>리터럴 대체 |hello ${data}| = <span th:text="|hello ${data}|"></span></li>

-> | .. | : 리터럴 대체 문법을 사용하면 "'hello' + ${data}" 할 필요 없음.

 

<!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>

3.3 결과


 

 

4. GitHub : 210918 Literal


 

GitHub - bsh6463/Thymeleaf

Contribute to bsh6463/Thymeleaf development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] 스프링 MVC 2' 카테고리의 다른 글

[Thymeleaf] 속성 값 설정  (0) 2021.09.18
[Thymeleaf] 연산  (0) 2021.09.18
[Thymeleaf] URL 링크  (0) 2021.09.18
[Thymeleaf] 유틸리티 객체, 날짜  (0) 2021.09.18
[Thymeleaf] 기본 객체들  (0) 2021.09.18
Comments