首先建立一个目标的html页面,使用file->save as template,把它存储成为模版,然后在这个网页里面添加一个模版的可编辑区域,或者几个可编辑区域,在head和title中是也可以生成的可编辑区域,根据这些东西进行相应的操作。
生成的overmind.template如下所示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>无标题文档</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
<!-- TemplateParam name="MyOptionalRegion" type="boolean" value="true" -->
</head>
<body>
<table border="1px">
<tr>
<td width="202" height="203"><a href="http://blog.csdn.net/overmnd">overmind</a></td>
<td><!-- TemplateBeginEditable name="MyEditRegion" -->eee<!-- TemplateEndEditable --></td>
<td>44444</td>
</tr>
</table>
</body>
</html>
通过这个dwt文件可以作为模版生成相应的overmind.htm文件,具体的html代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/test.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>无标题文档</title>
<!-- InstanceEndEditable --><!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable --><!-- InstanceParam name="MyOptionalRegion" type="boolean" value="true" -->
</head>
<body>
<table border="1px">
<tr>
<td width="202" height="203">"><a href="http://blog.csdn.net/overmnd">overmind</a></td>
<td>
<!-- InstanceBeginEditable name="MyEditRegion" -->
asdfasdfasdfsafsafsaf
<!-- InstanceEndEditable -->
</td>
<td>44444</td>
</tr>
</table>
</body>
<!-- InstanceEnd --></html>
从以上的代码可以看出,dreamweaver中的模版是一个dreamweaver内部的功能,通过这个功能,我们可以快速的批量更新网页。首先,当模版文件,dwt被修改之后,dw会找到所有由他生成的实例,根据这个实例列表,dw可以快速的更新文件,根据模版对生成的html实例文件进行字符串替换的处理,这个过程完成之后,就可以了,所有应用该模版的文件都已经符合模版的变化了。
模版的功能比较有用,它代替了我们在html里面手动的进行批量替换的麻烦,但是增加了无关的代码,影响了文件的大小。
另外的选择还有frame和asp.net 2。0中的master page,尤其是后者,我想动态的页面加上动态的master page十分令我期待。