<decorator:usePage id="..." />:像jsp页面中的<jsp:useBean>标签一样,可以使用被包装为一个Page对象的页面。例:可用<decorator:usePage id="page" /> :<%=page.getTitle()%>达到<decorator:title/>的访问结果。
<page:applyDecorator /> 和 <page:param > ... </page:param>
例:
<page:applyDecorator name="..." [ page="..." title="..." ] >
<page:param name="..."> ... </page:param>
<page:param name="..."> ... </page:param>
</page:applyDecorator>
更多信息请参考:http://www.mscto.com/JavaScript/2009010955000.html
另外:一个注意问题:在配置decorators.xml中,装饰器的page属性前不要加上"/",否则会报错。例:
正确写法:
<decorators defaultdir="/WEB-INF/pages">
<decorator name="main" page="decorators/main.jsp">
<pattern>/*</pattern>
</decorator>
<!--...-->
</decorators>
错误写法:
<decorators defaultdir="/WEB-INF/pages">
<decorator name="main" page="/decorators/main.jsp"> <!--这里多了一个“/” -->
<pattern>/*</pattern>
</decorator>
<!--...-->
</decorators>
但对于其下的非装饰器页标签中的page属性却没有此限制(有没有“/”均可)。不知道是不是SiteMesh的Bug。为了方便起见,所有标签均不在路径前加“/”。