목록BE/Thymeleaf (25)
오봉이와 함께하는 개발 블로그
기본 객체들 타임리프는 기본 객체들을 제공한다. ${#request} ${#response} ${#session} ${#servletContext} ${#locale} 그런데 #request는 HttpServletRequest객체가 그대로 제공되기 때문에 데이터를 조회하려면 request.getParameter("data")처럼 불편하게 접근해야 한다. 이를 해결하기 위해 편의 객체도 제공한다. HTTP 요청 파라미터 접근(쿼리 파라미터 접근) : param ${param.paramData} HTTP 세션 접근 : session ${session.sessionData} 스프링 빈 접근 : @ ${@helloBean.hello('spring!')} 코드 @GetMapping("/basic-o..
변수 - SpringEL 타임리프에서 변수를 사용할 때는 변수 표현식을 사용한다. 변수 표현식 : ${...} 이 변수 표혁식에는 스프링EL 이라는 스프링이 제공하는 표현식을 사용할 수 있다. BasicController 추가 @GetMapping("/variable") public String variable(Model model) { User userA = new User("userA", 10); User userB = new User("userB", 20); List list = new ArrayList(); list.add(userA); list.add(userB); Map map = new HashMap(); map.put("userA", userA); map.put("userB", userB)..
텍스트 - text, utext 타임리프의 가장 기본 기능이다. 타임리프는 기본적으로 HTML 태그 속성에 기능을 정의해서 동작한다. HTML의 콘텐츠에 데이터를 출력할 때는 th:text를 사용하면 된다. HTML 태그의 속성이 아니라 HTML 콘텐츠 영역안에서 직접 데이터를 출력하고 싶으면 [[...]]를 사용하면 된다. 컨텐츠 안에서 직접 출력하기 = [[${data}]] BasicController @Controller @RequestMapping("/basic") public class BasicController { @GetMapping("text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello S..
타임리프 소개 공식 사이트 : https://www.thymeleaf.org/ 공식 메뉴얼 - 기본 기능 : https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html 공식 메뉴얼 - 스프링 통합 : https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html 타임리프 특징 서버 사이드 HTML 렌더링(SSR) 네츄럴 템플릿 스프링 통합 지원 서버 사이드 HTML 렌더링 (SSR) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 네츄럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특성이 있다. 타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 ..
타임리프 간단히 알아보기 타임리프 사용 선언 속성 변경 - th:href th:href="@{/css/bootstrap.min.css}" 기존 html의 href 속성을 th:href="value2"의 값으로 변경된다. 타임리프 뷰 템플릿을 거치게 되면 원래 값을 th:xxx값으로 변경한다. HTML을 그대로 볼 때는 href속성이 사용되고, 뷰 템플릿을 거치면 th:href의 값이 href로 대체되면서 동적으로 변경할 수 있다. 대부분의 속성은 th:xxx로 변경할 수 있다. 타임리프 핵심 핵심은 th:xxx가 붙은 부분은 서버사이드에서 렌더링 되고, 기존 것을 대체한다. th:xxx이 없으면 기존 html의 xxx 속성이 그대로 사용된다. HTML을 파일로 직접 열었을 때, th:xxx가 있어도 웹 ..