2012-04-07 3 views
3

https://github.com/sitemesh/sitemesh2과 같이 여러 개의 데코레이터가 필요합니다. decorators.xml에 여러 개의 데코레이터를 제공하지만 메인 데코레이터는 프로젝트의 모든 파일에 적용됩니다. 예. 내 장식은 다음과 같습니다여러 데코레이터 파일이있는 sitemesh

<decorators defaultdir="/WEB-INF/decorators"> 
    <decorator name="main" page="main.jspx"> 
     <pattern>/*</pattern> 
    </decorator> 
    <decorator name="other" page="other.jspx"> 
     <pattern>/spring/other/*</pattern> 
    </decorator> 
</decorators> 

그리고 모두 /spring/some/page.jspx/spring/other/page.jspx 모두는`main.jspx '템플릿으로 렌더링합니다.

내가 뭘 잘못하고 있니?

<decorators defaultdir="/WEB-INF/decorators"> 
    <decorator name="main" page="main.jspx"> 
     <pattern>/spring/main/*</pattern> 
    </decorator> 
    <decorator name="other" page="other.jspx"> 
     <pattern>/spring/other/*</pattern> 
    </decorator> 
</decorators> 

을하고 일 경우 말해 :

답변

0

를 사용하여 다음과 같습니다.

+1

이 작동하지 않았습니다. 실제로 나는 많은 것을 시도해 보았고 (모든 템플릿에 대해) 작동하는 유일한 것은'/ *'또는'/ context *'이다. 예를 들어'/ context/x/* '와 같은 패턴은 적용되지 않습니다. – Kevin

4

나는 문서의 예는이 아이디어를 모순 알고 있지만, 당신이 뭔가를 필요로하는 경우 시도 -과 같이 당신의 장식을 다시 주문하려고 : 메모리에서

<decorators defaultdir="/WEB-INF/decorators"> 
    <decorator name="other" page="other.jspx"> 
     <pattern>/spring/other/*</pattern> 
    </decorator> 
    <decorator name="main" page="main.jspx"> 
     <pattern>/*</pattern> 
    </decorator> 
</decorators> 

을 내가 통해 Sitemesh가 일치하는 장식을 사용 생각 패턴 및 지정한 순서대로 항상 "주"데코레이터가됩니다.

관련 문제