웹페이지를 구성하다 보면 페이지 별로 메뉴를 구성하고 싶은 경우가 많다.
thymeleaf 를 쓰는 경우 최상위 dom인 html에 th:with로 응답별로 변수를 선언해서 쓸 수 있지만 페이지가 많아질 수록 이렇게 관리하는 것에 한계가 있다.
이런 경우 페이지 별 변수를 따로 관리해주는 것이 좋다.
xml과 java object를 맵핑하지 않았다.
이렇게 하면 java의 기본 list, map으로 해당 object가 만들어지는데 오히려 이렇게 사용하는 게 관리하기 편하다.
아래와 같은 기능이 있다.
1. 모든 메뉴의 이름은 원하는 대로 지어도 된다. (예제엔 menuList안에 menu로 구성했지만 모두 제각각으로 지어도 된다.)
2. 하위 뎁스를 원하는 만큼 만들어서 사용이 가능하다.
3. 다만 url이란 선언 값은 꼭 있어야 한다.
4. 중첩되는 선언들은 지정한 url의 패스가 긴 것부터 변수들이 우선순위를 가지고 merge된다.
5. xml 수정시 새로고침 하지 않아도 된다.
간단하면서도 유용한 requset별 variable 구현이 아닐까 싶다.
댓글 없음:
댓글 쓰기