목록BE (354)
오봉이와 함께하는 개발 블로그
속성 값 설정 타임리프 태그 속성(Attribute) 타임리프는 주로 HTML 태그에 th:*속성을 지정하는 방식으로 사용한다. th:*로 속성을 지정하면 기존 속성을 대체한다. 기존 속성이 없으면 새로 만든다. 예시 @GetMapping("/attribute") public String attribute() { return "basic/attribute"; } 속성 설정 속성 추가 - th:attrappend = - th:attrprepend = - th:classappend = checked 처리 - checked o - checked x - checked=false 속성 설정 th:*속성을 지정하면 타임리프는 기존 속성을 th:*로 지정한 속성으로 대체한다. 는 로 바뀐다. 속성 추가 th:attr..
연산 타임리프 연산은 자바와 크게 다르지 않다. HTML안에서 사용하기 때문에 HTML 엔티티를 사용하는 부분만 주의하자. 코드 추가, 결과 @GetMapping("/operation") public String operation(Model model) { model.addAttribute("nullData", null); model.addAttribute("data", "Spring!"); return "basic/operation"; } ~~html 산술 연산 10 + 2 = 10 % 2 == 0 = 비교 연산 1 > 10 = 1 gt 10 = 1 >= 10 = 1 ge 10 = 1 == 1 = 1 != 1 = 조건식 (10 % 2 == 0)? '짝수':'홀수' = Elvis 연산자 ${data}?:..
리터럴 리터럴은 소스 코드상에 고정된 값을 말하는 용어다. 예를 들어 다음 코드에서 "Hello"는 문자 리터럴, 10, 20는 숫자 리터럴이다. String a = "Hello" int a = 10 * 20타임리프는 다음과 같은 리터럴이 있다. 문자 : 'hello' 숫자 : 10 불린 : true, false null : null 타임리프에서 문자 리터럴은 항상 '(작은 따옴표)로 감싸야 한다. 하지만 문자를 항상 작은 따옴표로 감싸는 것은 번거로운 일이기 때문에 공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 작은 따옴표를 생략할 수 있다. 조건 : A-Z, a-z, 0-9, [], ., -, _ 오류 문자 리터럴은 원칙상 '로 감싸야 하는데 중간에 공백이 하..
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 해당 코드를 실행하면 4개의 링크가 만들어진다. http://localhost:8080/hello http://localhost:8080/hello?param1=data1¶m2=data2 h..
기본 객체들 타임리프는 기본 객체들을 제공한다. ${#request} ${#response} ${#session} ${#servletContext} ${#locale} 그런데 #request는 HttpServletRequest객체가 그대로 제공되기 때문에 데이터를 조회하려면 request.getParameter("data")처럼 불편하게 접근해야 한다. 이를 해결하기 위해 편의 객체도 제공한다. HTTP 요청 파라미터 접근(쿼리 파라미터 접근) : param ${param.paramData} HTTP 세션 접근 : session ${session.sessionData} 스프링 빈 접근 : @ ${@helloBean.hello('spring!')} 코드 @GetMapping("/basic-o..