Thymeleaf[기본 객체들]

조영재·2023년 6월 10일

Thymeleaf

목록 보기
3/15

기본 객체들

타임리프가 제공하는 기본 객체

  • **${#request}**
  • **${#response}**
  • **${#session}**
  • **${#servletContext}**
  • **${#locale}**

편의 객체

기본 객체들의 프로퍼티 접근을 하기위해 **${#response}****HttpServletRequest** 객체가 그대로 제공되기 때문에

데이터를 조회하려면 **${#request.getParameter('paramData')}**처럼 불편하게 접근해야 한다.

  • HTTP 요청 파라미터 접근: **param**
    • 예) ${param.paramData}
  • HTTP 세션 접근: **session**
    • 예) ${session.sessionData}
  • 스프링 빈 접근: **@**
    • 예) ${@helloBean.hello('Spring!')}

basicController

@Controller
@RequestMapping("/basic")
public class basicController {

		...

    @GetMapping("/basic-objects")
    public String basicObjects(HttpSession session) {
        session.setAttribute("sessionData", "Hello Session");
        return "/basic/basic-objects";
    }

    @Component("helloBean")
    static class HelloBean {
        public String hello(String data) {
            return "Hello" + data;
        }
    }
}

basic/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>Request getParameter = <span th:text="${#request.getParameter('paramData')}"></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>

실행 결과

profile
Just for fun

0개의 댓글