표현식

  • 변수 : ${...}
  • 선택 변수 : *{...}
  • 메시지 : #{...}
  • Link URL : @{...}

text operation

  • 문자열 연결 : +
  • 문자 대체 : |이렇게 묶어주세요|

boolean 연산

  • Binary : and, or
  • 부정 : !, not

조건 연산

  • if-then : (if) ? (then)
  • if-then-else : (if) ? (then) : (else)
  • Default : (value) ?: (defaultValue)

 

'Web > Front' 카테고리의 다른 글

[ERROR] 500에러 관련  (0) 2021.07.30
[ERROR] static파일 적용 관련  (0) 2021.07.30
[HTML, Javascript] jQuery  (0) 2021.07.28
[HTML] Thymeleaf  (0) 2021.07.27
[HTML] 기본 태그  (0) 2021.07.27

Template Engine(템플릿 엔진)

  • 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어
  • web template engine은 웹 문서가 출력되는 템플릿 엔진
  • view code(html)와 data logic code(DB connection)를 분리해줌

[출처] https://gmlwjd9405.github.io/2018/12/21/template-engine.html

종류

Layout Template Engine vs Text Template Engine

  • Layout Template Engine : 중복되는 include 코드를 사용하지 않고도 지정된 페이지 레이아웃에 따라 페이지 타일을 조합하여 완전한 페이지로 만들어줌
  • Text Template Engine : 템플릿 양식에 적절한 특정 데이터를 넣어 결과 문서를 출력(Thymeleaf, JSP)

ServerSide Template Engine vs ClientSide Template Engine

  • ServerSide Template Engine : 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 Template에 넣어 html을 그려 클라이언트에 전달
  • ClientSide Template Engine : html 형태로 코드를 작성할 수 있으며, 동적으로 DOM을 그리게 해주는 역할

 

필요성

  • 많은 코드를 줄일 수 있다.
  • 재사용성이 높다
  • 유지보수에 용이하다

'Web > Spring' 카테고리의 다른 글

[배경] JPA  (0) 2021.07.27
[배경] Maven  (0) 2021.07.27
[배경] Spring Security  (0) 2021.07.27
[배경] Spring 실행 순서  (0) 2021.07.27
[배경] MVC Pattern  (0) 2021.07.27

Thymeleaf

  • "웹(Servlet)환경과 웹이 아닌 환경 모두애서 작동할 수 있는 Java XML/XHTML/HTML5 template engine"
  • spring MVC구조에서 View 담당
  • src/main/resources/templates 경로를 기본 경로로 인식(의존성 추가하면)

 

간단한 사용법

 

Maven Dependencies 추가(pom.xml)

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

application.yml에 추가

<!--application.yml-->
thymeleaf:
    prefix: classpath:templates/
    suffix: .html
    cache: true
    
<!--application-local.yml-->
  thymeleaf:
    cache: false

 

.html에 추가해서 사용

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Thymeleaf Test</title>
</head>
<body>
<p th:text="'타임리프 테스트 '" />
</body>
</html>

 

'Web > Front' 카테고리의 다른 글

[ERROR] 500에러 관련  (0) 2021.07.30
[ERROR] static파일 적용 관련  (0) 2021.07.30
[HTML, Javascript] jQuery  (0) 2021.07.28
[Thymeleaf] 기본 문법  (0) 2021.07.27
[HTML] 기본 태그  (0) 2021.07.27

+ Recent posts