기본 Text

@Controller
@RequestMapping("/basic")
public class BasicController {
    @GetMapping("text-basic")
    public String textBasic(Model model){
        model.addAttribute("data","Hello Spring!");
        return "basic/text-basic";
    }

}
<!DOCTYPE html>
<html xmlns:th="<http://www.thymeleaf.org>">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<h1>컨텐츠에 데이터 출력하기</h1>
<ul>
    <li>th:text 사용 <span th:text="${data}">123444</span></li>
    <li>컨텐츠 안에서 직접 출력하기 = [[${data}]]</li>
</ul>

</body>
</html

결과

Untitled

첫 번째는 텍스트가 바뀌어서 1234440→HelloSpring으로 변환

두 번째는 컨텐츠 내용 안에서 Hello Spring 추가.


이스케이프

model.addAttribute("data","Hello <b>Spring</b>");

위의 코드를 원하면 출력이 어떻게 될까

내가 원하는 건 웹 페이지에서 굵은 글씨의 Spring이 출력되는 것이다.

하지만 출력 결과는 <b> Spring </b> 으로 나온다.

웹 브라우저는 <를 HTML 테그의 시작으로 인식한다. 따라서 < 테그의 시작이 아니라 문자로 표현할 수 있는 방법이 필요한데, 이것을 HTML 엔티티라고 한다. 특수문자를 HTML 엔티티로 변경하는 것을 이스케이프라고 한다.