
자주 사용하기 때문에 타임리프에서 기본적으로 제공하는 객체와 편의 객체를 살펴보고자 한다 Expressions Basic Objects (표현식 기본 객체) 타임리프는 자주 사용하는 객체들을 간편하게 조회할 수 있게 아래와 같이 기본 객체들을 지원한다 • ${#request} • ${#response} • ${#session} • ${#servletContext} • ${#locale} Convenience Objects (편의 객체) (공식 문서에는 specialized expression이라고 쓰여 있지만 편의상 이렇게 부르겠다) 기본 객체 중의 #request 같은 경우 객체가 그대로 제공되기 때문에 데이터를 조회하려면 request.getParameter("data")와 같이 불편하게 해당 객체에..

(참고: Spring Boot를 기준으로 작성된 글입니다) 타임리프에서는 ${...} 라는 변수 표현식을 사용하여 변수를 사용한다 (선택 변수는 *{...} ) 이 변수 표현식에는 SpringEL이라는 스프링이 제공하는 표현식을 사용할 수가 있다 SpringEL Spring Expression Language라는 뜻의 SpringEL (SpEL)은 런타임 시 메서드 호출 및 기본 문자열 템플릿 등의 기능을 제공한다 #{"표현식"} , ${"프로퍼티"} 으로 사용한다 (자세한 내용은 추후에 다룰 예정) (SpringEL 공식문서 링크 : https://docs.spring.io/spring-framework/docs/3.0.x/reference/expressions.html ) Thymeleaf Varia..

th:text & [[${...}]] 타임리프는 기본적으로 HTML 태그의 속성(Attribute)의 기능을 정의해서 동작하게 된다 HTML의 콘텐츠(content)에 데이터를 출력할 때는 th:text를 사용한다 Example 위와 같이 th:text를 사용하면 Example -> ${data} 값으로 치환되게 된다 만약 치환하지 않고 콘텐츠 안에서 직접 출력하고 싶다면 아래와 같이 작성하면 된다 [[${data}]] 타임리프는 기본적으로 문자열들을 이스케이프 처리하는데 예를 들어 Hello Spring!와 같은 값이 ${data}로 넘어왔다고 가정해보자 개발자의 의도대로라면 Spring!이 bold처리가 되어 굵게 표시가 되어야 하겠지만 타임리프가 이스케이프를 하게 되면 아래와 같이 출력이 된다 웹브..

(참고: Spring Boot를 기준으로 작성된 글입니다) 백엔드 서버에서 HTML을 동적으로 렌더링(SSR)할 때 사용하는 Thymeleaf(타임리프)가 뭔지 살펴보고자 한다 Thymeleaf란 타임리프는 뷰 템플릿 엔진으로 JSP, Freemarker와 같이 백엔드 쪽에서 클라이언트에게 응답할 브라우저 화면을 만들어 주는 역할은 한다 하지만 타임리프는 기존의 템플릿 엔진과 아래와 같은 차별점이 있다 • 서버상에서 동작하지 않아도 된다 • 순수 HTML구조를 유지한다 이게 중요한 이유는 기존의 템플릿으로는 항상 서버를 구동시켜 결과물을 확인해야 하지만 타임리프의 경우 static 파일을 사용하듯 해당 내용을 브라우저에서 바로 확인할 수 있다는 장점이 있다, 이것이 가능한 이유는 타임리프가 HTML의 속..

PRG패턴이 사용되는 이유와 방법에 대해서 살펴보고자 한다 PRG (Post/Redirect/Get) 패턴이 필요한 이유 만약 사용자가 상품을 구매하는 서비스를 이용하고 있다고 가정해보자 구매 이후에 클라이언트가 실수 혹은 의도적으로 새로고침을 한 경우에 웹 브라우저의 특성상 새로고침은 마지막으로 서버에 전송한 데이터를 다시 전송하게 된다 이때 아래와 같이 설계가 되어 있다면 새로고침 시에 구매 데이터가 한번 더 전송이 되어 중복 구매를 하게 되는 것이다 PRG (Post/Redirect/Get) 패턴 단어 그대로 Post -> Redirect -> Get 패턴으로 만들어지는 것을 PRG 패턴이라고 한다 위의 예시와 같은 상황에서 새로고침을 하였을 경우에 발생하는 문제를 해결하기 위해 사용한다 해결방법은..
(참고 : Spring Boot와 Thymeleaf 기준을 작성된 글입니다) 이전 글(HTTP Request Data)에서 클라이언트가 보낸 요청 값들을 서버 쪽에서 어떻게 조회할 수 있는지 살펴보았다 이렇게 값들을 조회한 후에는 서버쪽에서 해당 로직들을 수행하고 클라이언트에게 응답을 하게 된다 이때 서버쪽에서 어떠한 응답을 어떻게 만드는지 살펴보려고 한다 우선 서버쪽에서 만드는 응답 데이터는 정적 리소스 , 뷰 템플릿, HTTP 메시지와 같이 크게 3가지로 나뉜다 Static Resource(정적 리소스) 웹 브라우저에 정적인 HTML, CSS, JS를 제공할 때 정적 리소스를 사용한다 스프링 부트의 경우 정적 리소스 경로가 설정되어 있는데 src/main/resources/static 경로에 inde..
- Total
- Today
- Yesterday
- ResponseStatusExeceptionResolver
- 맨코
- Session
- cookie
- Spring Container
- 캐시
- 제이쿼리란
- uri
- ExceptionHandlerExceptionResolver
- http
- 제이쿼리 위치탐색선택자
- DTO와 VO의 차이
- 제이쿼리 탐색선택자
- Spring MVC
- @ExceptionHandlere
- 세션
- Spring TypeConverter
- OOP
- @ResponseStatus
- application/x-www-form-urlencoded
- 쿠키
- DefaultHandlerExceptionResolver
- spring
- Spring API Error
- 제이쿼리 인접 관계 선택자
- Cache
- jQuery 직접 선택자
- 제이쿼리 기본 선택자
- 제이쿼리 직접 선택자
- maenco
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |