BackEnd/Thymeleaf

타임리프-기본객체

연향동큰손 2024. 7. 16. 20:30

타임리프에서 기본객체에 접근하는 방법을 알아보자.

 

 

<BasicController 코드 추가>

@GetMapping("/basic-objects")
public String basicObjects(Model model, HttpServletRequest request,
                           HttpServletResponse response, HttpSession session) {
    session.setAttribute("sessionData", "Hello Session");
    model.addAttribute("request", request);
    model.addAttribute("response", response);
    model.addAttribute("servletContext", request.getServletContext());
    return "basic/basic-objects";
}
@Component("helloBean")
static class HelloBean {
    public String hello(String data) {
        return "Hello " + data;
    }
}

 

 

<basic-objects.html>

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

<h1>식 기본 객체 (Expression Basic Objects)</h1>
<ul>
    <li>request = <span th:text="${request}"></span></li>
    <li>response = <span th:text="${response}"></span></li>
    <li>session = <span th:text="${session}"></span></li>
    <li>servletContext = <span th:text="${servletContext}"></span></li>
    <li>locale = <span th:text="${#locale}"></span></li>
</ul>
<h1>편의 객체</h1>
<ul>
    <li>Request Parameter = <span th:text="${param.paramData}"></span></li>
    <li>session = <span th:text="${session.sessionData}"></span></li>
    <li>spring bean = <span th:text="${@helloBean.hello('Spring!')}"></span></li>
</ul>
</body>
</html>

 

위의 html코드를 살펴보자.

"${request}"

이와 같은 방법으로 HTTP 요청파라미터, HTTP세션, 그리고 스프링 빈까지 접근이 가능한 것을 알 수 있다.

 

스프링빈은 HTTP 요청파라미터, HTTP세션과는 다르게 @를 사용하여 접근한다.

"${@helloBean.hello('Spring!')}"

 

 

<실행결과>

'BackEnd > Thymeleaf' 카테고리의 다른 글

타임리프-속성값 설정  (0) 2024.07.19
타임리프 - 리터럴  (0) 2024.07.16
타임리프-URL 링크  (0) 2024.07.16
변수 - SpringEL  (1) 2024.07.15
텍스트 - text, utext  (0) 2024.07.15