Java 具有多个装饰器文件的sitemesh
我需要多个decorator,如下所述:。我在decorators.xml中提供了多个decorator,但主decorator将应用于项目中的每个文件。 我的装饰师看起来像这样:Java 具有多个装饰器文件的sitemesh,java,spring-mvc,sitemesh,Java,Spring Mvc,Sitemesh,我需要多个decorator,如下所述:。我在decorators.xml中提供了多个decorator,但主decorator将应用于项目中的每个文件。 我的装饰师看起来像这样: <decorators defaultdir="/WEB-INF/decorators"> <decorator name="main" page="main.jspx"> <pattern>/*</pattern> </decora
<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>
/弹簧/主/*
/弹簧/其他/*
告诉我它是否有效。我知道文档示例与此想法相矛盾,但如果您需要尝试,请尝试重新订购您的装饰器,如下所示:
<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使用了第一个匹配的装饰器模式,并且按照您指定的顺序,始终是“主”装饰器。这不起作用。实际上,我已经尝试了很多方法,唯一有效的方法(对于任何模板)是
/*
或/context*
。例如,像/context/x/*
这样的任何模式都不会得到应用。