Thymeleaf

 

 

th:text

@RequestMapping("memberList")
@Controller
public class MyController {

    @GetMapping("member")
    public String memberInfo(Model model) {
        Member member = new Member("John", 29);
        model.addAttribute("member", member);

        return "main/information";
    }

    @Data
    static class Member {
        private String name;
        private int age;

        public Member(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
}

타임리프의 text 기능을 활용해 위 컨트롤러에서 html로 값을 가져와보겠다.

 

 

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>text</title>
</head>
<body>
<ul>
    <h1>Name</h1>
    <li>방법1 = <span th:text="${member.name}"></span></li>
    <li>방법2 = <span th:text="${member['name']}"></span></li>
    <li>방법3 = <span th:text="${member.getName()}"></span></li>

    <h1>Age</h1>
    <li>방법1 = <span th:text="${member.age}"></span></li>
    <li>방법2 = <span th:text="${member['age']}"></span></li>
    <li>방법3 = <span th:text="${member.getAge()}"></span></li>
</ul>
</body>
</html>

text로 값을 가져오는 방법은 세 가지이나, 그 결과는 같다.

기본적으로 ${...} 방법을 따르며, 간단하니 위 코드를 참고하면 이해가 될 것이다.

 

실행시켜보자.

 

 

세 가지 방법 모두 동일한 결과를 확인할 수 있다.

 

 

th:text 생략

th:text를 생략하는 방법도 있다.

 

text가 필요 없는만큼 th:를 위한 별도의 태그를 만들 필요 없다는 점이 특징이다.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>text</title>
</head>
<body>
<ul>
    <h1>Name</h1>
    <li>방법1 = [[${member.name}]]</li>
    <li>방법2 = [[${member['name']}]]</li>
    <li>방법3 = [[${member.getName()}]]</li>

    <h1>Age</h1>
    <li>방법1 = [[${member.age}]]</li>
    <li>방법2 = [[${member['age']}]]</li>
    <li>방법3 = [[${member.getAge()}]]</li>
</ul>
</body>
</html>

 

 

타임리프의 가장 간단한 text 기능을 알아보았다.

 

 

 

 

 

 

복사했습니다!