在
上一篇中,我遗留下了选择模板的练习。
现在抽空测试了一下。
原理很简单:在EditorPart中指定WebPart模板所在的文件夹(相对路径),并通过输入的文件夹路径获取该文件夹下的templates.xml(即模板描述文件)。
然后列出该模板描述文件中的模板列表供选择。模板描述文件格式及内容如下(如果要在项目中应用,可能还需要作相应的更改):
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
1
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
<TemplateFiles>
3
<TemplateFile>
4
<FileName>
5
<![CDATA[default.vm]]>
6
</FileName>
7
<TemplateName>默认</TemplateName>
8
<Description>描述111111</Description>
9
<Author>pcitxzz</Author>
10
<CreateDate>2009-08-18</CreateDate>
11
</TemplateFile>
12
<TemplateFile>
13
<FileName><![CDATA[new2.vm]]></FileName> <!--文件名-->
14
<TemplateName>新的</TemplateName><!--模板名-->
15
<Description>描述2222</Description><!--模板描述-->
16
<Author>pcitxzz</Author><!--创建者-->
17
<CreateDate>2009-08-18</CreateDate><!--创建日期-->
18
</TemplateFile>
19
</TemplateFiles>在编写EditorPart时,读取这个xml文件并分析即可。
完成EditorPart的编写后,就可以在webpart中进行应用了。
------------------------------------------
以下是我测试的相关截图:
No1:EditorPart中选择模板的效果:
![](https://images.cnblogs.com/cnblogs_com/mcjeremy/tmpSel.jpg)
No2:使用默认模板时的效果:
![](https://images.cnblogs.com/cnblogs_com/mcjeremy/defaultTmp.jpg)
No3:使用“新的”模板时的效果:
![](https://images.cnblogs.com/cnblogs_com/mcjeremy/newTmp.jpg)
可以看出,通过这种方式为同一个webpart应用不同的模板十分方便。
尤其是在实现CSS样式无法实现的布局时或需要一些特殊功能时,您可以考虑这种实现方式。
----
相关源码:
/Files/McJeremy/NVelocityTestPart.rar----
转载请注明出处:
http://www.cnblogs.com/mcjeremy