타임리프에서 기본객체에 접근하는 방법을 알아보자.
<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 |