[타임리프] 타임리프가 제공하는 객체

기본 객체

기본 객체

타임리프는 아래와 같은 기본 객체들을 제공한다.

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



편의 객체

타임리프는 기본 객체 뿐만 아니라, 보다 편리한 편의 객체도 제공한다.


HTTP 요청 파라미터 접근

  • ${param.파라미터이름}

해당 객체를 통해, 보다 편리하게 요청 파라미터에 접근할 수 있다.


HTTP 세션 접근

  • ${session.세션데이터이름}

해당 객체를 통해 세션데이터에 접근할 수 있다.


스프링 빈 접근

  • ${@빈객체이름.메소드이름()}

이와 같이, 빈 객체에도 접근할 수 있다.



예시 코드

컨트롤러

@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;
		}
	}
	
}


타임리프

<!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>


결과

결과




  • 본 게시글은 김영한님의 강의를 토대로 정리한 글입니다.
  • 더 자세한 내용을 알고 싶으신 분들이 계신다면, 해당 강의를 수강하시는 것을 추천드립니다.