webapp/WEB-INF/spring/appServlet/ 폴더 밑에 interceptor-context.xml 파일을 만듭니다.


interceptor-context.xml 

--모든 Path에서 Interceptor를 걸고 resources/ 폴더 밑은 제외 합니다.


그리고 Interceptor 파일을 com.test.example.config.interceptor.CommonInterceptor 위치에 만듭니다.


파일 구조



-- 현재 호출한 URI를 알려주고 그리고 모든 Parameter 값을 출력합니다.

-- Parameter 값은 없기 때문에 출력하지는 않습니다.



화면 레이아웃을 만들어 보겠습니다...

Thymeleaf에서 Page Layout을 만드는 방법은 몇가지가 있는데 지금 사용하는 방법은 Thymeleaf Layout Dialect 을 이용하여 만들어 보겠습니다.

그럼 layout을 만들어 보겠습니다.

맨처음 views/ 폴더 밑에 /layout 폴더와 fragments/ 폴더를 만듭니다.

layout 폴더밑에 default.html을 만듭니다.


그리고 fragements 폴더 밑에

config.html


header.html


footer.html 를 만듭니다.


그리고 home.html을 수정합니다.


파일구조는 이렇게 나옵니다.

그리고 localhost:8080/example/를 열어보면 밑의 화면과 같이 정말 간단하게 레이아웃을 만들수 있는걸  볼 수 있습니다.



자바 기반의 여러 Template엔진이 있습니다.

 기본적으로 쓰는 JSP+JSTL, Velocity, Freemaker, Thymeleaf, Mustache, Jade 등 여려가지가 있는데 저는 Thymeleaf를 쓰도록 하겠습니다..

왜냐면...... 그냥 Spring에서 밀어주기도 하고 그냥...  써보고 싶었습니다. -_-;;

Thymeleaf 3 버전도 나왔지만 저는 2.1.4 버전을 쓰도록 하겠습니다...

아직 thymeleaf-layout-dialect (layout)을 제대로 지원을 안해주는지 제가 잘 모르는건지.. 어쨌든 그렇습니다.


** 다른 Template 엔진 쓸꺼면 패스해도 됩니다.


pom.xml 에  추가를 해줍니다.


그리고 webapp/WEB-INF/spring/appServlet/servlet-context.xml을 수정합니다.

기존에 있는 ViewResolver을 삭제하고 


Thymeleaf ViewResolver를 등록합니다.


그리고 기존의 home.jsp(삭제해도 상관 없음) 대신 home.html을 생성한다.


home.html 의 내용은

으로 만든다음.

http://localhost:8080/example/ 접속 해보면 잘 나올겁니다.


!!! Thymeleaf는 태그유효성 체크가 매우 엄격하다. 따라서 반드시 닫는 태그를 달아준다. !!!


+ Recent posts