Thymeleaf
5 posts
/static/aab7211514b9b25883f182daf61b4866/thymeleaf.png
Thymeleaf-Basic(part.5 타임리프의 연산)

🎈 연산 타임리프에서의 연산은 자바와 크게 다르지 않다. 다만 HTML안에서 사용되기 때문에 ****를 사용하는 부분에서만 주의하면 된다. BasicController에 추가 operation.html 비교 연산 : HTML 엔티티를 사용해야 하는 부분을 정말 주의해야한다. 참고로 필자는 초반에 이러한 문제로 상당히 난항을 겪었다…ㅋㅋ 타임리프에 익숙치 않은 사용자라면 유의해야겠다. =gt , =lt , =ge , =le , =not , =eq , =neq,ne 조건식 : 자바의 조건식과 유사하다. ****처럼 삼항연산이 가능하다.(강력한 기능이다. 사용 할 일이 많아질듯 하다.) Elvis연산 : 조건식의 편의성을 업그레이드한 느낌이다. No-Operation : 언더바로 마치 타임리프가 작동하지 않는 것 처럼 동작하게 한다. 이것을 잘 활용하면 HTML태그에 내용을 그대로 활용 할 수 있다. 그래서 마지막의 예를 보면 의 부분이 그대로 출력 되는 것을 볼 수 있다! 🐠 속성 값…

December 07, 2023
Thymeleaf
/static/aab7211514b9b25883f182daf61b4866/thymeleaf.png
Thymeleaf-Basic(part.4 유틸객체와 사용법)

🎈 자바 8에서 제공되는 날짜객체들 타임리프에서는 자바8버전부터 제공되는 날짜객체인 를 사용하려면 추가 라이브러리가 필요하지만, 스프링 부트에서 타임리프를 사용한다면, 해당 라이브러리가 자동으로 추가되며 통합된다. 저번시간에 소개된 유틸리티 객체들에 사용방법에 대해 알아보도록 하자! 타임리프 자바8 날짜 지원 라이브러리 이 해결해주는데, 이와같이 자바8의 날짜용 유틸리티 객체들의 사용예시를 한번 보도록하자. 🐠 URL 링크 사용법 타임리프에서는 URL을 생성하거나 요청을 보낼때 사용하는 문법이 있다. 아래에는 문법의 예시를 통해 자세한 사용 방법을 알아보도록 하자! 단순한 URL? 라고 입력을하면, 요청url이 /hello로 전달이 되고, 해당 매핑이 되어있는 컨트롤러의 메소드를 호출하게된다. 쿼리 파라미터? 라고 입력을 하게되면 다음과 같은 url이 전달되게 된다.와 같이 된다. 괄호()안의 내용이 쿼리파라미터로 처리되어 나가는 것을 볼 수 있다. 위의 내용처럼 요청 url…

December 06, 2023
Thymeleaf
/static/aab7211514b9b25883f182daf61b4866/thymeleaf.png
Thymeleaf-Basic(part.3 SpringEL의 변수와 지역변수 + 객체들)

🎈 Spring에서 제공하는 SpringEL문법 이전 파트에서는 타임리프에 대한 기본 표현식과 변수 표현식들을 알아 보았다. 이번 시간에는 변수 표현식에 스프링El이라는 스프링이 제공하는 표현식을 사용해 보도록 하자. 🐠 SpringEl의 다양한 표현식 사용 Object 가 된다. 즉, 컨트롤러에서 모델객체에 addAttribute에 키값으로 userA라는 객체의 정보가 담아주었다. 이것을 자바에서는 user.getUsername();이런식으로 꺼내쓸수 있는것과 같은 방법이다. 또한, 위의 내용을 이렇게도 표현 할 수 있다. 위의 사용방법이 조금 어색하다면 이렇게도 직접 호출 할 수 있는데, 이 방법은 추천하지 않는다. List List(즉, 컬렉션객체)는 인덱스값(0)을 직접 줌으로써 해당 객체의 프로퍼티를 불러 올 수 있다. 위의 내용을 풀어보면 이 되는것이다. List 역시 다양한 방법으로 호출이 가능하다 Map 맵객체도 여러가지의 방법으로 호출,사용이 가능하다. 은 …

December 05, 2023
Thymeleaf
/static/aab7211514b9b25883f182daf61b4866/thymeleaf.png
Thymeleaf-Basic(part.2 타임리프! text? utext??)

🎈 텍스트 타임리프의 가장 기본 기능인 텍스트를 출력하는 기능을 알아보도록 하겠다. 타임리프는 기본적으로 HTML 태그 속성에 기능을 정의하여 동작한다. HTML의 콘텐츠에 데이터를 출력할 때는 다음과 같이 를 사용하면 된다. ex) 과 같이 사용 할 수 있다. HTML 태그의 속성이 아니라 콘텐츠 영역 안에서 직접 데이터를 출력하고 싶다면, 다음과 같이 표현 할 수있다. 다음은 예제를 통하여 좀 더 자세히 알아보도록 하자. 🐠 Controller 🍕 HTML 🍔 실행 실행 결과를 보면 의 값이 모델에 담겨 ‘Hello Spring!’을 출력하는것을 볼 수 있다. 태그 안에서 그리고 태그 밖에서 직접 데이터를 출력할때 역시 정상적으로 출력이 되는 것을 알 수 있는 부분이다. Escape HTML문서는 와 같은 특수 문자를 기반으로 정의가 된다. 따라서 뷰 템플릿으로 HTML 화면을 생성 할 때에는 출력하는 데이터에 이러한 특수 문자가 있는것을 주의하여 사용해야 한다. 앞에서 만…

December 04, 2023
Thymeleaf
/static/aab7211514b9b25883f182daf61b4866/thymeleaf.png
Thymeleaf-Basic(part.1 특징과 기본 표현식)

🎈 Thymeleaf의 특징 서버 사이드 HTML 렌더링 (SSR) 네츄럴 템플릿 스프링 통합 지원 🍕 서버 사이드 HTML 렌더링 (SSR) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 🍔 네츄럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특징이 있다. 타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 파일을 직접 열어도 내용을 확인할 수 있고, 서버를 통해 뷰 템플릿을 거치면 동적으로 변경된 결과를 확인할 수 있다. JSP를 포함한 다른 뷰 템플릿들은 해당 파일을 열면, 예를 들어서 JSP 파일 자체를 그대로 웹 브라우저에서 열어보면 JSP 소스코드와 HTML이 뒤죽박죽 섞여서 웹 브라우저에서 정상적인 HTML 결과를 확인할 수 없다. 오직 서버를 통해서 JSP가 렌더링 되고 HTML 응답 결과를 받아야 화면을 확인할 수 있다. 반면에 타임리프로 작성된 파일은 해당 파일을 그대로 웹 브라우저에서 열어도 정상적인 HTML …

December 03, 2023
Thymeleaf