====== 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 오션 주레피 타임리프}}