일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JDBC
- 런타임 상수
- @SubscribeMapping
- 오블완
- 파이썬
- BindingResult
- API
- 알고리즘
- 무한정 대기
- DTO
- spring
- compgen
- allocationSize
- 은행원알고리즘
- 컴파일 타임 상수
- intelij spring config
- 프로그래머스
- 커밋 되돌리기
- 편향된 지수
- 쉘 스크립트
- 기본키 전략
- 쿠키
- 리눅스
- m:n
- Git
- 백준
- 티스토리챌린지
- @Autowired
- JPA
- application layer
- Today
- Total
둘셋 개발!
타임리프의 기본 표현식 본문
텍스트 - text, utext
- th:text = "${data}" 이런 식으로 사용하면 됨
- html 테그 속성이 아니라 컨텐츠 안에서 직접 데이터를 출력하고자 할 때: [[${data}]]
-html엔티티
: 만약 <b>를 테그가 아닌 문자 그대로 출력하고자 할 때 html엔티티를 사용
ex) < : <
>: >
: 특수 문자를 html엔티티로 변경하는 것을 escape라고 함
: 기본으로 th:text와 [[...]]는 escape를 적용
: unescape를 하고 싶을 때는
th:untext
[(...)]
변수 - SpringEL
- 타임리프에서 변수를 사용하고자 할 때는 ${...} 을 사용
-Object
변수.속성 ----${user.username}
변수['속성'] ----${user['username']}
변수.get속성() ----${user.getUsername()}
-List
리스트[0].속성 ----${users[0].username}
리스트[0]['속성'] ----${users[0]['username']}
리스트[0].get속성() ----${users[0].getUsername()}
-Map
맵['key값'].속성 ----${map['userA'].username}
맵['key값']['속성'] ----${map['userA']['username']}
맵['key값'].get속성() -----${map['userA'].getUsername()}
-지역변수 선언
th:with 사용
ex) th:with="first=${user}"
기본 객체들
-타임리프는 기본 객체들을 제공한다
${#request}
${#response}
${#session}
${#servletContext}
${#locale}
-편의 객체도 제공한다
- HTTP 요청 파라미터 접근 : param ex) ${param.paramData}
- HTTP 세션 접근 : session ex) ${session.sessionData}
- 스프링 빈 접근 : @ ex) ${@helloBean.hello('Spring!')}
날짜
#temporals 는 자바8 날짜용 유틸리티 객체이다
ex) <span th:text="${temporals.format(localDateTime, 'yyyy-MM-dd HH:mm:ss')}"></span>
URL 링크
@{...} 문법을 사용하면 된다
- 단순한 url : @{/hello} -> /hello
- 쿼리 파라미터: @{/hello(param1=${param1}, param2=${param2})} ->/hello?param1=data1¶m2=data2
-> () 에 있는 부분은 쿼리 파라미터로 처리됨
- 경로변수: @{/hello/{param1}/{param2}(param1=${param1, param2=${param2}})}
-> URL에 경로변수가 있으면 ()부분은 경로변수로 처리
+ 경로변수와 쿼리 파라미터를 같이 사용할 수 있음 -> ()부분에 해당 경로변수가 없으면 쿼리 파라미터로 처리