(참고: Spring Boot , IntelliJ를 기준으로 작성된 글입니다.) 타임리프는 스프링과 통합하기 위한 매뉴얼을 제공할 정도로 스프링을 사용할 때 편리한 기능들을 많이 제공한다 이번 글에서는 Form 작성 시 어떠한 편리기능을 제공하는지 살펴보고자 한다 Inputs : th:field & th:object 기존에 HTML의 Form을 작성할 때 태그의 경우 id와 name 그리고 value 등의 정보들을 일일이 적어주어야 했다 타임리프가 제공하는 th:field를 사용하면 이러한 속성들을 자동으로 생성해준다, 예시와 같이 살펴보겠다 보통 id 와 name을 같게 사용하는 경우가 대부분이라고 하는데, 타임리프의 th:field를 사용하게 되면 id , name 그리고 value까지 자동으로 생성..
Template Layout 이전 글에서 작은 개념인 Template Fragments(템플릿 조각)에 대하여 살펴보았다 이번 글에서는 이를 확장한 개념인 템플릿 레이아웃에 대하여 살펴보고자 한다 템플릿 레이아웃은 단순히 하나하나의 조각이 아니라 레이아웃을 적용시킬 html 파일을 살펴보자 메인 컨텐츠 위와 같이 레이아웃을 적용시키게 되면 아래와 같은 결과가 나온다 메인 컨텐츠 기존 레이아웃 틀에서 th:replace라고 작성했던 부분은 common_header(~{::title},~{::link})에 따라서 레이아웃이 적용되는 html에 있던 title과 links가 th:replace로 선언한 부분만 대체되지 않고 유지되었다 레이아웃 H1 레이아웃 컨텐츠 레이아웃 푸터 위의 레이아웃을 아래의 html..
템플릿을 만들다 보면 빈번하게 같은 파트를 작성해야 하는 경우가 있다 (footers , header , menus..) 이 파트들을 만약 하나하나 작성하였다면 공통적인 부분임에도 불구하고 수정사항이 있을 때마다 전부 수정해야 할 것이다 이때 타임리프의 템플릿 레이아웃 기능을 사용하면 매우 효율적으로 처리할 수 있다 템플릿 레이아웃을 알아보기 전에 그 안에 더 작은 개념인 템플릿 조각을 먼저 살펴보겠다 Thymeleaf Template Fragments 우선 공통적으로 들어갈 footer가 있다고 가정하고 footer의 내용을 아래와 같이 작성하였다 footer 내용 parameter 내용 본문이 될 main html에서 어떻게 사용하는지 살펴보자 (생략) 부분 포함 insert 부분 포함 replace..
타임리프는 자바스크립트를 더욱 편리하게 사용할 수 있도록 자바스크립트 인라인 기능을 제공한다 구체적으로 어떠한 기능들을 제공하는지 살펴보자 자바스크립트 인라인 기능을 사용하려면 아래와 같이 작성하면 된다 예시를 위하여 서버 쪽에서 아래와 같이 데이터를 보냈다고 가정해보자 public String javascriptInline(Model model) { model.addAttribute ("user", new UserDTO("userA", 10)); //(username, age) } Text Inlining (텍스트 렌더링) 자바스크립트에서 변수값을 타임리프 변수로 대입할 때 자주 나는 오류가 특히 문자열에서 따옴표를 사용하지 않아서이다 또한 이를 알고 있다고 하더라도 매번 따옴표를 더하기에는 너무 번거..
HTML의 태그가 아닌 오직 타임 리프만이 제공하는 유일한 자체 태그인 Block tag에 대해 살펴보고자 한다 Synthetic th:block 타임리프가 블록태그를 만든 이유는 주로 반복문에서 발생하는 문제점 때문인데 예를 들어 아래와 같이 두 개의 div 태그를 반복문으로 같이 돌리고 싶다면 매우 난감한 상황이 온다 username age username&age 이때 th:block 말 그대로 하나의 블록 처리를 하여 반복문을 돌리면 굉장히 간단하게 해결이 된다 username age username&age th:block은 렌더링 될 때 사라지며 웹브라우저에는 본래 의도하던 두 개의 태그의 반복문 결과만 남게 된다 더보기 개인 학습을 위해 작성되는 글입니다. 제가 잘못 알고 있는 점에 대한 지적 ..
뷰 템플릿 엔진인 타임리프에서 지원하는 주석과 타임리프가 이 주석들을 어떻게 처리하는지 살펴보고자 한다 타임리프에서 사용할 수 있는 주석은 표준 HTML 주석을 포함하여 총 3가지의 주석을 지원한다 Standard HTML Comments (표준 HTML 주석) 가장 기본적인 표준 HTML 주석의 경우 타임리프가 렌더링을 하지 않고 그대로 남겨둔다 (페이지 소스코드에서 확인 가능) Thymeleaf Parser-Level Comment Blocks(타임리프 파서 주석) 타임리프 파서 주석은 타임리프의 진짜 주석이다, 렌더링 할 때 주석 부분을 제거한다 (페이지 소스코드에서 확인 불가능) Thymeleaf Prototype-Only Comment Blocks(타임리프 프로토타입 주석) 조금 특이한 프로토타..
- Total
- Today
- Yesterday
- 맨코
- spring
- 쿠키
- Spring Container
- 제이쿼리 기본 선택자
- cookie
- Session
- 제이쿼리 직접 선택자
- 캐시
- jQuery 직접 선택자
- ExceptionHandlerExceptionResolver
- 제이쿼리 탐색선택자
- application/x-www-form-urlencoded
- Spring MVC
- @ExceptionHandlere
- 세션
- Cache
- Spring TypeConverter
- @ResponseStatus
- 제이쿼리 인접 관계 선택자
- maenco
- 제이쿼리란
- 제이쿼리 위치탐색선택자
- http
- Spring API Error
- ResponseStatusExeceptionResolver
- OOP
- DTO와 VO의 차이
- DefaultHandlerExceptionResolver
- uri
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |