본문 바로가기

Developer/SpringFramework

Spring + tiles 설정

이번 포스팅은 Spring에 Tiles를 적용입니다!



# Tiles 란?

보통 한 화면을 구성할 때 jsp에 공통적으로 들어가는 부분은 공통파일 header.jsp와 footer.jsp를 include 시켜주는 방식으로 화면을 출력하죠.

Tiles를 사용하지 않고 화면을 구성한다면 실제 불러오는 jsp파일들 list.jsp insert.jsp 등등 파일에 header와 footer를 모든 페이지에 일일히 include 해주어야 했습니다.

대형(?) 프로젝트일 경우 jsp 파일이 많기 때문에 header와 footer를 jsp파일을 만들 때 마다 include 시켜줘야 합니다.

사실 include하는게 코드가 많지 않지만 그래도 한번의 설정으로 자동(?)으로 페이지 구성을 해준다는 장점이 있습니다.


구성은 아래와 같습니다.

 header

 content

 footer

layout.jsp가 있고 xml을 작성해서 header와 footer는 고정이고 새 페이지를 호출 할 때마다 해당하는 content만 바꿔주는 형식입니다.

 

# 파일구

파일 구조는 아래와 같이 구성하면 됩니다.

 

# pom.xml

maven을 사용하였고 tiles에 관한 라이브러리를 받기 위해 pom.xml에 필요한 dependency를 추가합니다.


root-context.xml
아래 부분을 root-context.xml에 추가해줍니다.

(설정마다 다르겠지만 보통 root-context.xml으로 이름을 쓰고 다른이름으로 쓰신다면 DB정보 및 sqlSession 또는 transaction정의 해주는 xml에 추가하시면 됩니다.)

 

# servlet-context.xml

마찬가지로 아래부분 추가하시면 되요.

아래 경로부분은 제가 상단에 보여드린 파일구조로 구성했으면 아래와 같고 다르게 하셨다면 경로 맞춰주면 되겠습니다.

(이 파일도 설정마다 다르겠지만 dispatcher-servlet.xml으로 파일명 많이 쓰시던데 viewResolver 설정한 xml에 추가하면 됩니다.)

 

# tiles.xml

tiles.xml로 화면 구성할 파일들을 찾아(?) 주는 설정입니다.

{1}/{2} 이런 설정은 파일구조에 따라 다르기 때문에 설정하였습니다.

예를 들면 /WEB-INF/jsp/board/list.jsp 페이지를 오픈할 때는 /WEB-INF/jsp/{1}/{2}.jsp 를 참조하게 됩니다.

 

# layout.jsp

실제 화면을 구성하는 틀(?) 역활을 하는 layout.jsp입니다.

아래와 같이 작성하면 되고 상단에 taglib 꼭 써줘야합니다.

제가 처음 tiles 할 때 다른 블로그 보고 하다가 저걸 안올려줘서 2시간 헤맸습니다... ^^...

 

# header.jsp footer.jsp list.jsp

요건 별거 없네요. 테스트로 아래대로 작성하면 되고, 실제 적용할 내용 넣으셔도 됩니다.

 

 

 

 

 

 

 

# 결과

짜잔 잘 나오네엽.

여기까지 Tiles 포스팅을 마칩니다~~

궁금한 부분 또는 잘못된 부분 댓글 부탁드려요~!