본문 바로가기

IT/Spring + iBatis

2013.04.11. Spring-4 Tiles



2013.04.11. Spring-4 Tiles


Tiles2 (p338)

- SpringFramework의 완전한 활용을 위해 기존 모델1 설계방식에서의 JspIncluding을 대체하는 방식.

- tilesConfigurer Xml파일을 할당해주는 작업과 viewResolver를 TilesView로 설정하는 선행작업이 요구됨.


TilesView의 적용과정 Step by Step!

1) Tiles Api를 활용하기 위한 Tiles설정파일의 생성 및 속성값 할당.

- docType이 ‘tiles-definitions’인 Xml파일 생성.

- <definition>태그의 template속성값으로 View파일경로를 할당함으로써 tilesTemplate를 객체를 새로이 생성하거나

   이미 생성된 객체의 definition name을 extends속성값으로 할당함으로써 기존 객체를 상속한다.

- <put-attribute>태그로 definition객체가 가질 includingPage를 할당한다.

   이때, 기존의 객체를 상속하는 자식객체의 경우 부모객체의 includingPage들을 그대로 상속받는다.


2) DispatcherServlet설정파일에 Tiles설정파일을 할당하고 viewResolver를 TilesView방식으롣 등록.

- class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"인 Bean객체 생성.

   name=“definitions”인 property로 1)에서 생성한 Tiles설정파일의 파일경로를 할당한다.

- class="org.springframework.web.servlet.view.UrlBasedViewResolver"인 viewResolver Bean객체 생성.

   name=“viewClass”인 property로 “org.springframework.web.servlet.view.tiles2.TilesView"를 할당하여

   TilesView viewResolver Bean객체 설정을 완료.


TilesView 구현 팁

- TilesView의 template역할을 수행하는 파일 외 attribute로 삽입되는 페이지들은 <head>태그가 필요없다.

   (파이어버그나 기타 코드체킹 프로그램으로 확인했을 경우엔 텍스트 형태로 출력되므로, 되도록 삭제한다)

- TilesView에서 css파일이나 js파일을 적용하고 싶다면, template역할을 수행하는 jsp파일의 <head>태그 내에

   <link>태그 또는 <script>태그를 입력한 다음, 참조파일 경로명의 앞에 <%=request.getContextPath()%>를 입력하여

   해당 태그들이 프로젝트 기준폴더 경로명으로 참조할 수 있도록 해준다.



구현팁이랍시고 당시엔 자랑스럽게 써놓았던 것 중 마지막,

프로젝트 막판에 없어도 된다는 대균이의 말을 듣고 얼마나 얼척없었는지..