타임리프는 기본 객체들을 제공
${#request}
${#response}
${#session}
${#servletContext}
${#locale}
#request 는 HttpServletRequest 객체가 그대로 제공되기 때문에 데이터를 조회
request.getParameter("data") 처럼 불편하게 접근
HTTP 요청 파라미터 접근: param
예) ${param.paramData}
HTTP 세션 접근: session
예) ${session.sessionData}
스프링 빈 접근: @
예) ${@helloBean.hello('Spring!')
@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;
}
}
<!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>
http://localhost:8080/basic/basic-objects?paramData=HelloParam
request - controller에서 HttpServletRequest 객체와 같음
response - controller에서 HttpServletRespones객체와 같음
session - controller에서 넘겨준 session과 같음
servletContext - controller에서 사용하는 객체와 같음
locale = ko
편의객체
Request Parameter = HelloParam
session = Hello Session
spring bean = Hello Spring!
참고 강의
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의
웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있
www.inflearn.com
'Java > Thymeleaf' 카테고리의 다른 글
리터럴 (0) | 2021.12.02 |
---|---|
URL 링크 (0) | 2021.12.02 |
유틸리티 객체와 날짜 (0) | 2021.12.02 |
변수 - SpringEL (0) | 2021.12.01 |
텍스트 - text, utext (0) | 2021.12.01 |