써먹는 웹개발

[tiles] definition name의 depth가 4일때 적용이 안되는 현상 해결방법 본문

Client/기타 솔루션

[tiles] definition name의 depth가 4일때 적용이 안되는 현상 해결방법

kmhan 2023. 8. 24. 14:01


728x90
반응형

0. 기존 잘되는 소스

1
2
3
4
5
6
7
8
9
10
11
    <definition name="*" extends="DefaultTemplate">
        <put-attribute name="content"     value="/WEB-INF/views/{1}.jsp" />
    </definition>
 
    <definition name="*/*" extends="DefaultTemplate">
        <put-attribute name="content"     value="/WEB-INF/views/{1}/{2}.jsp" />
    </definition>
 
    <definition name="*/*/*" extends="DefaultTemplate">
        <put-attribute name="content"     value="/WEB-INF/views/{1}/{2}/{3}.jsp" />
    </definition>
cs

 

1. 안되는 소스 (ex. popup)

 - name이 */*/*/* 일때 {4} 값이 3번째 칸으로 되서 1번값/2번값/4번값/{4}.jsp 로 인식해서 에러나는 현상 있음

1
2
3
    <definition name="*/*/*/*" extends="DefaultTemplate">
        <put-attribute name="content"     value="/WEB-INF/views/{1}/{2}/{3}/{4}.jsp" />
    </definition>
cs

 

2. 해결방법

 - name을 */*/규칙적인 매핑명/*  으로 변경

1
2
3
    <definition name="*/*/popup/*" extends="DefaultTemplate">
        <put-attribute name="content"     value="/WEB-INF/views/{1}/{2}/popup/{3}.jsp" />
    </definition>
cs
728x90
반응형


Comments