
웹 애플리케이션 개발을 하다보면 메일발송을 구현해야 할 때가 있다. 그때 메일발송을 단순 텍스트가 아닌 HTML 템플릿 형태로 전송해야 될 경우가 있는데 예제코드와 함께 알아보자. 라이브러리 추가 org.springframework.boot spring-boot-starter-mail org.springframework.boot spring-boot-starter-thymeleaf thymeleaf 라이브러리와 Spring Boot에서 제공해주는 mail 라이브러리를 pom.xml에 추가하자 application.properties(yml) 파일에 발신자 정보 등록 발신자의 메일정보는 naver로 해두었다. naver 이메일 환경설정 수정 발신자의 메일정보가 naver이니 해당 메일정보로 로그인후 메일함..

Thymleaf로 개발할때 Thymeleaf에서 제공해주는 각종 Util class들이 있다. 이 Util class엔 많은기능이 제공되는데 상황에 맞게 필요한걸 쓰자. 일단 어떤것들이 있는지 살펴보자 10개정도 존재하는데 이 10개의 클래스들의 패키지를 확인해보면 Thymeleaf에서 제공해주는걸 알 수 있다. class 이름만 보면 어떤 기능들을 수행하는지 예측이 되지만 Aggregates와 Ids는 이름만 들어서 뭐하는 녀석인진 모르겠다. 궁금하다면 나중에 직접한번 내부소스를 살펴보는것도 좋을것 같다. 이제 저 Util class들을 Thymeleaf에서 어떻게 사용해야되는지 간단한 예제를 통해 알아보도록 하자. 표현식 ${#변수.메서드(파라미터)} 여기서 말하는 변수란 위에 언급되었던 10개의 c..

저번글에는 Thymeleaf 세팅법에 대해 알아보았는데 이번엔 기본문법을 알아보자 HTML text 출력 Thymeleaf의 표현식은 [[${text}]] 이렇게 태그 바깥에서 대괄호를 2겹으로 감싸서도 표현이 가능하다. if / else th:if는 if조건에 해당되었을때 출력이 되고 th:unless은 else에 해당되었을때 출력된다** 여기서 한가지 이상한점이 들 것이다. 보통 조건문을 작성시 else if가 아닌 else를 쓸땐 조건식을 명시하지 않는데 Thymeleaf의 조건식은 else문을 작성해줄때 동일한 if조건식을 명시해줘야 그 if조건에 충족하지 않은 결과(else)가 나오게 된다. html tag 서버에서 tag라는 변수에 저장된 값에 HTML 태그가 있다면 그 태그가 문자열이 아닌 ..

보통 Spring으로 개발을 하게되면 view단을 JSP를 많이 사용되는데 그 외에 thymeleaf, freemarker, mustache, velocity 등 다양한 템플릿을 가져다 쓰는데 이번글에서는 Thymeleaf(타임리프) 를 적용해보는 시간을 갖도록 하자. Thymeleaf는 JSP와는 달리 서버에서 컴파일 되지않고 바로 웹브라우저에서 해석이 되는데 이는 브라우저가 해석을 할 수 있는 마크업 언어로 이뤄져있기 때문이다. 이제 기본환경을 세팅해보자 pom.xml에 의존성 추가 web 의존성과 thymeleaf 의존성을 각각 pom.xml에 추가하자 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-b..