Spring
스프링 MVC 2 - 템플릿 레이아웃1
스프링 MVC 2 - 템플릿 레이아웃1
2022.08.10템플릿 레이아웃1 템플릿 레이아웃 이전에는 일부 코드 조각을 가지고와서 사용했다면, 이번에는 개념을 더 확장해서 코드 조각을 레이아웃에 넘겨서 사용하는 방법에 대해서 알아보자. 예를 들어서 에 공통으로 사용하는 css, javascript 같은 정보들이 있는데, 이러한 공통 정보들을 한 곳에 모아두고, 공통으로 사용하지만, 각 페이지마다 필요한 정보를 더 추가해서 사용하고 싶다면 다음과 같이 사용하면 된다. /resources/templates/template/layout/base.html /resources/templates/template/layout/layoutMain.html 결과 common_header(~{::title}, ~{::link}) 이 부분이 핵심이다. ::title은 현재 페이지의..
스프링 MVC 2 - 템플릿 조각
스프링 MVC 2 - 템플릿 조각
2022.08.09템플릿 조각 웹 페이지를 개발할 때는 공통 영역이 많이 있다. 예를 들어서 상단 영역이나 하단 영역, 좌측 카테고리 등등 여러 페이지에서 함께 사용하는 영역들이 있다. 이런 부분을 코드를 복사해서 사용한다면 변경시 여러 페이지를 다 수정해야 하므로 상당히 비효율 적이다. 타임리프는 이런 문제를 해결하기 위해 템플릿 조각과 레이아웃 기능을 지원한다. 주의! 템플릿 조각과 레이아웃 부분은 직접 실행해보아야 이해된다. 템플릿 조각 /resources/templates/template/fragment/footer.html th:fragment가 있는 태그는 다른곳에 포함되는 코드 조각으로 이해하면 된다. /resources/templates/template/fragment/fragmentMain.html tem..
스프링 MVC 2 - 자바스크립트 인라인
스프링 MVC 2 - 자바스크립트 인라인
2022.08.08자바스크립트 인라인 타임리프는 자바스크립트에서 타임리프를 편리하게 사용할 수 있는 자바스크립트 인라인 기능을 제공한다. 자바스크립트 인라인 기능은 다음과 같이 적용하면 된다. BasicController 추가 /resources/templates/basic/javascript.html 자바스크립트 인라인 사용 전 - 결과 자바스크립트 인라인 사용 후 - 결과 자바스크립트 인라인을 사용하지 않은 경우 어떤 문제들이 있는지 알아보고, 인라인을 사용하면 해당 문제들이 어떻게 해결되는지 확인해보자. 텍스트 랜더링 var username = [[$user.username}]]; 인라인 사용 전 → var username = userA; 인라인 사용 후 → var username = "userA"; 인라인 사용 전..
스프링 MVC 2 - 블록
스프링 MVC 2 - 블록
2022.08.08블록 은 HTML 태그가 아닌 타임리프의 유일한 자체 태그다. BasicController 추가 /resources/templates/basic/block.html 실행 결과 타임리프의 특성상 HTML 태그안에 속성으로 기능을 정의해서 사용하는데, 위 예처럼 이렇게 사용하기 애매한 경우에 사용하면 된다. 은 랜더링시 제거된다.
스프링 MVC 2 - 주석
스프링 MVC 2 - 주석
2022.08.08주석 BasicController 추가 /resources/templates/basic/comments.html 1. 표준 HTML 주석 자바스크립트의 표준 HTML 주석은 타임리프가 랜더링하지 않고, 그대로 남겨둔다. 2. 타임리프 파서 주석 타임리프 파서 주석은 타임리프의 진짜 주석이다. 랜더링에서 주석 부분을 제거한다. 3. 타임리프 프로토타입 주석 타임리프 프로토타입은 약간 특이한데, HTML 주석에 약간의 구문을 더했다. HTML 파일을 웹 브라우저에서 그대로 열어보면 HTML 주석이기 때문에 이 부분이 웹 브라우저가 랜더링하지 않는다. 타임리프 랜더링을 거치면 이 부분이 정상 랜더링 된다. 쉽게 이야기해서 HTML 파일을 그대로 열어보면 주석처리가 되지만, 타임리프를 랜더링 한 경우에만 보이는..
스프링 MVC 2 - 조건부 평가
스프링 MVC 2 - 조건부 평가
2022.08.05조건부 평가 타임리프의 조건식 if, unless(if의 반대) BasicController 추가 /resources/templates/basic/condition.html if, unless 타임리프는 해당 조건이 맞지 않으면 태그 자체를 랜더링하지 않는다. 만약 다음 조건이 false인 경우 ...부분 자체가 랜더링 되지 않고 사라진다. switch *은 만족하는 조건이 없을 때 사용하는 디폴트이다.