首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含多个装饰器文件的sitemesh

包含多个装饰器文件的sitemesh
EN

Stack Overflow用户
提问于 2012-04-08 07:53:12
回答 2查看 3.6K关注 0票数 3

我想要多个装饰器,如这里所述:https://github.com/sitemesh/sitemesh2。我在decorators.xml中提供了多个装饰器,但是主装饰器应用于我的项目中的每个文件。例如,我的装饰器看起来像这样:

代码语言:javascript
复制
<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的模板进行渲染。

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2012-04-10 02:29:55

我知道文档示例与这个想法相矛盾,但是如果您需要尝试一些东西--尝试重新排序您的装饰器,如下所示:

代码语言:javascript
复制
<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使用了第一个匹配的装饰器模式,并且按照您指定的顺序,它将始终是“主”装饰器。

票数 4
EN

Stack Overflow用户

发布于 2012-04-08 07:59:38

使用以下内容:

代码语言:javascript
复制
<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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10059326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档