Java/Thymeleaf 16

리터럴

Literals 리터럴은 소스 코드상에 고정된 값을 말하는 용어 "Hello" 는 문자 리터럴 10 , 20 는 숫자 리터럴 String a = "Hello" int a = 10 * 20 Thymeleaf의 리터럴 문자: 'hello' 숫자: 10 불린: true , false null: null Thymeleaf 에서의 문자 리터럴은 항상 ' (작은 따옴표)로 감싸야 한다. rule = A-Z , a-z , 0-9 , [] , . , - , _ 공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략 가능 ! 오류 - error 발생 문자 리터럴은 원칙상 ' ' 로 감싸야 한다. 중간에 공백이 있어서 하나의 의미있는 토큰으로도 인식되지 않는다. 수정 이렇게 ' 로 감싸..

Java/Thymeleaf 2021.12.02

URL 링크

타임리프에서 URL을 생성할 때는 @{...} 문법을 사용 @GetMapping("/link") public String link(Model model) { model.addAttribute("param1", "data1"); model.addAttribute("param2", "data2"); return "basic/link"; } URL 링크 basic url hello query param path variable path variable + query parameter 단순한 URL @{/hello} /hello 쿼리 파라미터 @{/hello(param1=${param1}, param2=${param2})} - /hello?param1=data1&m2=data2 - () 에 있는 부분은 쿼리 파..

Java/Thymeleaf 2021.12.02

유틸리티 객체와 날짜

타임리프는 문자, 숫자, 날짜, URI등을 편리하게 다루는 다양한 유틸리티 객체들을 제공 타임리프 유틸리티 객체들 #message : 메시지, 국제화 처리 #uris : URI 이스케이프 지원 #dates : java.util.Date 서식 지원 #calendars : java.util.Calendar 서식 지원 #temporals : 자바8 날짜 서식 지원 #numbers : 숫자 서식 지원 #strings : 문자 관련 편의 기능 #objects : 객체 관련 기능 제공 #bools : boolean 관련 기능 제공 #arrays : 배열 관련 기능 제공 #lists , #sets , #maps : 컬렉션 관련 기능 제공 #ids : 아이디 처리 관련 기능 제공, 뒤에서 설명 이런 유틸리티 객체들은 ..

Java/Thymeleaf 2021.12.02

기본 객체들

타임리프는 기본 객체들을 제공 ${#request} ${#response} ${#session} ${#servletContext} ${#locale} #request 는 HttpServletRequest 객체가 그대로 제공되기 때문에 데이터를 조회 request.getParameter("data") 처럼 불편하게 접근 HTTP 요청 파라미터 접근: param 예) ${param.paramData} HTTP 세션 접근: session 예) ${session.sessionData} 스프링 빈 접근: @ 예) ${@helloBean.hello('Spring!') @GetMapping("/basic-objects") public String basicObjects(HttpSession session) { ses..

Java/Thymeleaf 2021.12.02

텍스트 - text, utext

텍스트를 출력하는 기능 text 타임리프는 기본적으로 HTML 테그의 속성에 기능을 정의해서 동작한다. @Controller @RequestMapping("/basic") public class BasicController { @GetMapping("/text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello Spring!"); return "basic/text-basic"; } } HTML의 콘텐츠(content)에 데이터를 출력 HTML 테그의 속성이 아니라 HTML 콘텐츠 영역안에서 직접 데이터를 출력 컨텐츠 안에서 직접 출력하기 = [[${data}]] 컨텐츠에 데이터 출력하기 th:text 사용 컨텐츠..

Java/Thymeleaf 2021.12.01