【发布时间】:2016-05-17 17:01:14
【问题描述】:
我正在尝试使用 sitemesh 3 来装饰具有多个装饰器的页面。 当我添加更多页面时会出现问题,一些页面被另一个装饰器装饰,导致页面装饰不正确。
这是我想要做的:
- 用 2 个装饰器装饰
/和/login - 用 2 个不同的装饰器装饰
/welcome
sitemesh3.xml 到目前为止看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<sitemesh>
<mapping>
<path>/</path>
<decorator>/decorator1.jsp</decorator>
<decorator>/decorator1-2.jsp</decorator>
</mapping>
<mapping>
<path>/login</path>
<decorator>/decorator1.jsp</decorator>
<decorator>/decorator1-2.jsp</decorator>
</mapping>
<mapping>
<path>/welcome</path>
<decorator>/decorator2.jsp</decorator>
<decorator>/decorator2-2.jsp</decorator>
</mapping>
</sitemesh>
问题是/welcome 被decorator1 和decorator1-2 装饰
谁能解释我在这里错过了什么?
顺便说一句,我可以使用多个 <path> 内部映射来映射一个或多个装饰器上的多个位置,还是必须单独声明每个路径。
我知道我可以使用/* 来映射所有页面,但如果我想要类似的东西怎么办:
<mapping>
<path>/admin/*</path>
<path>/manage/*</path>
<path>/secured/admin/*</path>
<decorator>decorator.jsp</decorator>
</mapping>
【问题讨论】: