====== Thymeleaf ====== * description : Thymeleaf * author : 도봉산핵주먹 * email : hylee@repia.com * lastupdate : 2020-07-10 ===== Intro ===== ==== Thymeleaf란? ==== * Thymeleaf는 스프링 부트가 자동 설정을 지원하는 웹 템플릿 엔진입니다. \\ * HTML문서에 HTML5 문법으로 서버쪽 로직을 수행하고 적용시킬 수 있습니다. \\ * HTML 디자인에 전혀 영향을 미치지 않고 웹 템플릿 엔진을 통해 HTML을 생성할 수 있습니다. \\ * 독자적으로 HTML을 생성하기 때문에 테스트 시 렌더링 결과를 확인하기 좋습니다. * Spring 에서 jsp대신 Thymeleaf를 선호한다. \\ ===== Operator(연산자) ===== ==== 세이프 네비게이션 연산자 [?.] ==== Person person = null; person?.name; // name은 Person 클래스의 맴버 변수 System.out.println(name); // null - NullPointerException을 던지지 않는다!!! ==== 엘비스 연산자[?:] ==== String name = null; name ? : "기본값"; System.out.println(name); // 기본값 ==== if - else 사용법 ===== > 조건문은 무조건 동일하여 적어주어야 정상적으로 동작 * [[https://solbel.tistory.com/1406|[thymeleaf] 타임리프 if unless 사용법 및 예제]] ==== th:block 사용법 ==== 테이블에서 2개 이상의 td를 효과적으로 커스터마이징 하고자할 때 \\ 예를 들어 colspan이나 rowspan 적용시 사용하면 효과적임 ===== Parameter ====== * [[https://attacomsian.com/blog/thymeleaf-get-query-string-parameters|How to get query string parameters in Thymeleaf]] ===== Tip ===== 이클립스 플러그인 설치:\\ * Help >> Install New Software >> http://www.thymeleaf.org/eclipse-plugin-update-site/ 를 입력합니다. \\ * [[https://hyunsangwon93.tistory.com/19|Spring boot Thymeleaf 자주 사용하는 문법]] ===== Troubleshooting ===== **''리눅스''** 환경에서 Controller의 반환값 맨 앞에 /가 들어가 있으면 안됩니다. \\ thymeleaf 리졸버가 읽지를 못합니다. * [[https://wonin.tistory.com/503|[AWS] ec2 환경에서 thymleaf 오류 잡기(template might not exist or might not be accessible by any of the configured Template Resolvers...)]] \\ ===== Ref ===== * [[https://www.thymeleaf.org/index.html|Thymeleaf]]\\ * {{ :wiki:main_category:thymeleaf:docs:usingthymeleaf.pdf |}} * [[https://smallgiant.tistory.com/95|Elvis operator & Safe Navigation operator]] {{tag>도봉산핵주먹 thymeleaf 오션 주레피 타임리프}}