资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
模板解析引擎使用外部组件实战引言随着08年3月SiteFactory CMS正式版的发布,动易网络正式拉开了下一代网站管理应用的序幕,并提供了一个高度的稳定、灵活、安全、易用的管理环境。08年12月,动易网络正式发布了SiteFactory 2.0以及BizIeda 2.0 版本,这是一个更加重要的升级和里程碑版本。毫无疑问,你已经知道SiteFactory独创的Xpower模板解析引擎聚合了紧密相关的多种技术,彻底改变了传统模板解析的不足和局限性。而标签解析引擎是SiteFactory中最重要的部件,你要用它去转换数据至Web呈现。SiteFactory 的用户很容易对标签解析引擎技术感兴趣,毫不夸张的说,SiteFactory的Xpower引擎是针对转换数据呈现最为完整的技术平台。Xpower引擎输出页面的每一个字节都交给了用户进行控制、多种数据源的支持、丰富的函数库。本教程将讲述Xpower引擎对外部组件的支持。读者对象本教程是针对有一定服务端Web开发知识的开发者。本教程没有完整的描述教程所涉及到的每一个细节,否则,那样可能是好几本书的大辞典(比如如何去写C#代码)。相反,本教程为开发者提供精练的Xpower引擎对外部组件的技术介绍,而这类读者基本上都不想去重复那些最基本的概念。在阅读本教程的过程中,你要关注的是需要用来构建专业网站管理应用程序SiteFactory的Xpower模板解析引擎技术。为了更好的理解本教程,你最好熟悉C#语法,XSLT转换以及面向对象的概念。如果你熟悉Java或者C+但没有用过.NET。否则你可能需要同时考虑阅读一些介绍.NET的书籍。学习本教程的硬件和软件环境你需要一个安装有Visual Studio(也可以选择免费Sharp Developer、Visual Studio Web Developer Express)、SiteFactory 2.0的电脑来配合阅读本教程。虽然理论上说你可以手写代码,但这是极其乏味的,并且极易出错,所以在专业环境下从来不用这种方法。客户支持我们非常重视读者的反馈,我们也希望能了解你对本教程的看法哪些是你喜欢的地方,哪些是你不喜欢的地方,还有你希望我们应该在下次改进的地方,以及你更希望关注SiteFactory哪方面的教程,甚至是你觉得标签解析引擎在哪里需要改进。你可以至bbs.powereasy.net(动易官方论坛)参与讨论。示例代码在本教程的末尾有与本教程配套的示例代码,在使用这些代码之前,需要解压缩下载文件。本教程的示例代码项目版本为Visual Studio 2008 你可能需要相应或者更高的版本来打开。模板解析引擎使用外部组件实战(一) 建立类库项目:如下图所示,在新建项目对话框,模板选择类库,指定名称,这里命名为Components(组件之意)完成后点确定。Visual Studio会自动创建一个项目并且包含一个Class1.cs的文件,对这个文件单击右键将其重命名为MyUtils.cs,并且在此文件中的MyUtils类中键入下面的代码: / / 返回字符串真实长度, 1个汉字长度为2 / / 字符长度 public static int GetStringLength(string str) return Encoding.Default.GetBytes(str).Length; 此主题如下:(注意:示例源代码中包含了数十个有用的方法,简繁体转换,比较时间差等等,本教程重点在教授如何在SiteFactory标签解析引擎中使用外部组件,而非教授大家如何去编写C#代码。)(二) 编译组件,并将组件复制到SiteFactory站点根目录下的bin文件夹中(三) 配置站点根目录下Config文件夹中的ConsumerExtensionObject.config文件。打开此文件后会发现这就是一个xml文件,结构良好并且严谨。下面是对属性的释义:1. 标签对:为注册一个外部程序集所必要的配置节2. Assembly程序集:此为组件的名称,比如范例中编译完成的Components.dll3. className类名:只有通过类名才能反射到类中所包含的方法4. xmlns命名空间:浅显的可理解为名字空间就是给文档做一个标记按照上文罗列的释义,配置适应刚才编译的Components.dll文件,配置代码如下:(四) 配置标签模板随意新建立一个标签,类型选择简单XSLT解析,不需要任何参数,下一步到标签内容编辑面板,在XSLT样式表的头部注册第三部我们配置的命名空间。如下所示:正如ConsumerExtensionObject配置文件中的一样,xmlns命名空间的名称可以任意指定,但是其值一定要与ConsumerExtensionObject配置中xmlns的的值匹配。(五) 使用组件中的方法在模板的模板主体部位调用方法,如下面的示例:上面的代码将会返回数字10,也就是字符的长度。上面的代码会返回 賣身不賣藝(转为繁体)上面的代码会返回http:/www.powereasy.net/Products/网页中的所有内容下面是Components组件提供的方法,这些方法是系统默认没有提供的,通过这些能够充分体现SiteFactory Xpower标签解析引擎支持外部组件的美丽体验using System;using System.IO;using System.Net;using System.Security.Cryptography;using System.Text;using System.Text.RegularExpressions;using Microsoft.VisualBasic;namespace Components public class MyUtils / / 返回字符串真实长度, 1个汉字长度为2 / / 字符长度 public static int GetStringLength(string str) return Encoding.Default.GetBytes(str).Length; / / 从字符串的指定位置截取指定长度的子字符串 / / 原字符串 / 子字符串的起始位置 / 子字符串的长度 / 子字符串 public static string CutString(string str, int startIndex, int length) if (startIndex = 0) if (length 0) length = length*-1; if (startIndex - length str.Length) return ; else if (length 0) length = length + startIndex; startIndex = 0; else return ; if (str.Length - startIndex length) length = str.Length - startIndex; return str.Substring(startIndex, length); / /
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号