1、NoahWeb应用——模组资源 这次给大家介绍一下NoahWeb中的模组,模组Module和动作Action一样,都是NoahWeb中的逻辑层部分,如果你对动做有所了解的话,会对你学习模组有很大的帮助,动作中可以实现的功能和语法,在模组中你都可以实现。关于模组,你可以暂时把它理解为面向对象的‘方法’,大家都知道方法是一段被封装好的代码,在使用的时候只要调用这个方法的名称就可以了,这样可以很大程度上减少代码量而且易于维护,模组的使用同样可以达到这个效果,而且在表现层和逻辑层都可以调用,这样也可以体现出代码的重用。好了下面就具体给大家说一下模组。 首先我们来看看一段模组文件的代码: <
2、xmlversion="1.0"encoding="gb2312"?>
3、ml.config这个文件里面,例如,你的站点存在D盘下,根站点名称为demo,"siteroot"是这个站点的根目录下的名称空间,则"siteroot"下的Module.xml.config这个文件就存储在D:\demo\config下面。
因此不同名称空间下的模组文件是存储在不同位置的,比如说你新建了一个名为example的名称空间,那么第二行中声名的名称空间就应该是example,代码为:
4、 · 创建一个模组; · 在逻辑层调用模组; · 表现层调用模组; · 在模组设置局部变量和全局变量。 1.先做准备一下其他的资源 在调用模组前我们先准备两个字符资源,这样方便后面模组中调用,建字符资源过程如下: 打开设计器,选择一个已有的站点,然后选中一个名称空间,右键选择‘编辑’,如下图: 点击编辑后进入编辑器界面,如下图: 点击‘新建’按钮打开编辑页面,然后输入字符资源的名称和内容,如下图: 然后点击‘确定’回到上一页面,保存字符资源。 继续新建第二个字符资源为: 然后点击‘确定’回到上一页面,保存字符资源,这样两个字符资源就建好了. 2、编写第一
5、个模组
现在我们来编写第一个模组。打开设计器,右键选中当前的名称空间,在‘使用外部编辑器’中选择‘编辑此空间下的Module文件’如下图:
应该会看到下面的代码:
6、
然后在模组中用If语句做判断,当全局变量_root.number为1时,打印一个字符资源source1,当全局变量_root.number为2时,打印另一个字符资源source2。加入判断后的完整代码如下(我省略Moudles不显示了):
7、ule>
被加粗的字体部分在模组中打印字符资源。
3、在逻辑层中调用模组
模组自身是不能被执行需要在动作中调用,所以为了调用模组,我们还需要再建两个动作action,一个赋值为1,一个赋值为2。打开设计器,右键点击example名称空间,选中‘使用外部编辑器’中的‘编辑此空间下的Action文件’,如下图:
在动作文件Action.xml.config中加入两个Action,第一个Action起名为‘test1’,代码如下:
8、
9、"example.test2"NextAction="">
10、weaver来新建一个新的HTML页面,如下图:
这里我们需要在HTML文件中的第一行加入一个NoahWeb的标签,要注意的是NoahWeb的这个标签必须放在第一行。把当前第一行的代码向下移一行,把光标指向第一行的开始部分,然后点击‘插入’菜单栏里‘NoahWeb Base Objects’下面的‘NoahPageHeadTag’标签,如下图:
插入标签后就可以直接用NoahWeb引擎来解析此文件了,页面如下:
下面我们还需要在页面中插入两个标签,一个是为number赋值的NoahSetValue,另一个是调用模组的标签。首先我们来插入赋值的NoahSetValue标签,把光 11、标指向body体中,然后选择菜单栏‘插入’标签下‘NoahWeb Objects’下面的'NoahSetValue',如下图:
加入标签后body体中会出现一灰颜色的代码,如下图:
在SetName后面添入变量名称number,在SetValue后面添入值2,如下图:
现在加入调用模组的标签,这里我们需要继续使用上面建好的模组test和字符资源source1、source2。打开设计器中的模组面板,在example名称空间下右键选择test这个模组,然后选择'辅助'下面的‘复制Noah’
回到Dreamweaver中把刚才复制的模组粘贴到NoahSetValue标签的下 12、面,如下图:
加入标签后,保存文件,这里要注意的是,保存时要把文件保存成aspx文件格式,而且要把文件保存在example文件夹下面,如下图:
这样表现层调用模组的文件就写好了,下面我们在浏览器中调用test.aspx这个文件看看结果,如下图:
由于我们在页面中赋的值是‘2’所以浏览器中显示的是字符资源‘source2’。
有兴趣的朋友可以亲自动手做一下,把SetValue的值改成‘1’,然后调用这个页面看看结果吧。
5.在模组设置局部变量和全局变量
在模组中我们还可以通过设置局部变量和全局变量来让模组能更方便的重用,下面我们来看一个在模组中设置局部变量和全局变量的例子 13、在模组中设置两个局部变量x和y,然后把两个局部变量相加得到的值传给全局变量_root.sum,然后在动作中设置局部变量x和y所接收的值并打印字符资源。下面我们来看看具体部骤:
首先打开Module.xml.config文件新建一个Module文件,命名为summation,代码为:
14、r> x+y=
字符资源中调用全局变量_root.sum作为x+y的显示结果。
新建字符资源如下图:
建立好字符资源后我们还需要在Action.xml.config新建一个动作来为局部变量传值和打印字符资源,动作名为:summation,动作部分代码如下:
15、ion">
>
>






