内容合并
内容合并指的是将两个独立的内容合并成一个文件进行输出.系统提供以下两种方式进行合并,关键字合并和标签指令合并。关键字合并
对静态文件,系统内置了两种类型的合并器。com.dm.cms.source.DefaultContentSource可以对标准的html文件进行<head>、<body>块的提取。com.dm.cms.source.TagContentSource可以自定义内容抽取块以及块名,并且通过com.dm.cms.source.TagSourcesMerger合并指定的块名到指定的地方。系统默认的合并器为DefaultContentSource,如果你需要通过关键字进行合并,你需要在文件的顶部添加如下代码:
<!--@merger.handler=MergingContentSource-->
<!--@merger.handler=MergingContentSource-->
<!--@merger.mode=nonValues--> <merger.setProperty
name="head">
<title>新闻</title>
</merger.setProperty> <head>
<merger.getProperty name="head"/>
</head> 标签指令合并
对于jsp文件,我们可以通过cms:reader标签将外部文件合并到输出流中,通过cms:writer标签动态改变外部文件。例如我们定义一个模板文件: <%@ taglib
uri="/WEB-INF/cms.tld" prefix="cms" %>
<html>
<head>
<title>template</title>
</head>
<body>
<cms:reader method="include" key="header"
data="/WEB-INF/decorator/header.jsp"/>
<cms:reader data="body"/>
<cms:reader method="include"
data="/WEB-INF/decorator/footer.jsp"/>
</body>
</html> 如果index1.jsp需要改变默认的header.jsp为header1.jsp,则我们可以在index.jsp代码中添加如下代码:
<cms:writer key="header"
data="/WEB-INF/decorator/header1.jsp"/>
标签信息请参考标签文档

