资源描述
NoahWeb应用———字符资源
字符是NoahWeb中的重要资源之一,它和表单资源一样也是做页面显示所使用的一种表现形式。字符资源的内容可以是任何文本形式的代码,被封装在ResourceStrings.xml.config文件中,代码中也可以加入JavaScript、数据库操作集等内容,使页面的输出更丰富多彩。
字符资源的代码可以直接在NoahWeb设计器中编辑,前提是你对文本代码的编写非常的熟悉,例如:HTML,如果不是的话还是用工具吧,这里我推荐用Dreamweaver,相信这个软件大家都很熟悉了,NoahWeb有一个专门为Dreamweaver编写表现层而开发的插件,它可以集成在Dreamweaver里面,这样可以给你写字符资源带来很大方便。如果你没有这个插件的话可以到NoahWeb官方网站去下载,下载网址: NoahWeb扩展,当集成了扩展插件后Dreamweaver的插入栏里会多出三个NoahWeb的标签组:
字符资源是为了体现资源重用的,很多的字符资源在很多系统中都可以重复用到的,这样就可以节省一定的时间,从而减少开发周期。
1.编辑项目中的字符资源
首先打开NoahWeb设计器,点击进入一个已有的站点或者是新建一个站点,相信大家都已经会建立新的站点了吧,就不在赘叙了,这里选择在一个新建站点里给大家做示例,进入站点后在左上角会看到下面界面:
然后右键点击一个名称空间,选择“编辑”会进入到新建字符资源的界面:
这样就可以看到选中的名称空间下所有的字符资源了。如下图:(现在一个字符资源都还没有)
我们可以点图片底部的“新建”按钮来新建一个新的字符资源,点击新建后出现下面对话框:
在对话框里添入名称loginout,在内容里输入下面框中的代码,你也可以直接从这里复制粘贴过去:
代码如下:
<table width="100%" height="219" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="219" align="center" valign="middle"><font color=red style="font-size:12px;">您已经正常退出管理系统,感谢您的使用!<a href="<!-- NoahValue ValueName="http://localhost/example/example.aspx?action=outlogin" -->">点这重新登陆</a></font></td>
</tr>
</table>
代码拷贝框
<table width="100%" height="219" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="219" align="center" valign="middle"><font color=red style="font-size:12px;">您已经正常退出管理系统,感谢您的使用!<a href="<!-- NoahValue ValueName="http://localhost/example/example.aspx?action=outlogin" -->">点这重新登陆</a></font></td>
</tr>
</table>
[Ctrl+A 全部选择 然后拷贝]
然后点确定提交,这时后边页面中的存盘按钮已经由原来的不可用状态变成可以点击了,点击存盘一个新的字符资源就完成了,如下图:
2、在逻辑层中使用字符资源
字符资源建完后怎样能看到它呢?在字符资源列表里找到刚才建好的这个字符loginout,在loginout上点击“辅助”,选“复制Echo”,如下图:
字符是在动作中被调用的,右键点击‘example’,选‘使用外部编辑器’中的‘编辑此空间下的Action文件’,打开动作文件Action.xml.config,如下图:
创建一个新的动作Action 然后把刚才复制的Echo粘贴到Action里,代码如下:
<Action name="example.outlogin" NextAction="">
<Out Area="main">
<Echo ContentLinkId="loginout" />
</Out>
</Action>
这样在执行动作outlogin时,该字符就会在前端页面中显示出来,如图:
3.可为任意文本格式的字符资源
字符资源也可以用XML来写,下面是一段XML你可以把代码作为字符资源的内容:
<?xml version="1.0" encoding="gb2312"?>
<exam>
<!-- This is an example of resource-->
<resources>
<!-- 这是一个用XML写的字符资源。-->
</resources>
<example>
<!-- 是不是很简单啊?-->
</example>
</exam>
代码拷贝框
<?xml version="1.0" encoding="gb2312"?>
<exam>
<!-- This is an example of resource-->
<resources>
<!-- 这是一个用XML写的字符资源。-->
</resources>
<example>
<!-- 是不是很简单啊?-->
</example>
</exam>
[Ctrl+A 全部选择 然后拷贝]
新建一个字符资源名称为resource把代码考到新建字符资源的对话框里,然后新建一个Action:
<Action name="example.listresource" NextAction="">
<Out Area="main">
<Echo ContentLinkId="resource" />
</Out>
</Action>
当调用动作listresource时,浏览器里是没有显示内容的,如下图:
原因是在这个页面中的XML代码都被当成HTML代码来解析了,我们可以点击浏览器中的‘查看’下面的‘源文件’来看看这个页面的代码,代码里就包含字符资源的内容,如下图:
4.字符资源中的逻辑
在字符资源里面还可以写逻辑(可以使用NoahWeb表现层指令编写任何的逻辑),下面我们来看一个有判断的字符资源,新建一个字符名称为ifelse,字符内容为:
<!-- NoahIf EX="[_root.a]==1" -->您输入的值是1<!-- NoahElseIf EX="[_root.a]==2" -->您输入的值是2<!-- NoahEndIf --><br>
然后建立一个Action,打开当前名称空间下的Action.xml.config文件,在Action文件中加入代码,代码为:
<Action name="example.ifelse" NextAction="">
<Out Area="main">
<SetVar Name="_root.a" Value="1" />
<Echo ContentLinkId="ifelse" />
</Out>
</Action>
在这个Action里有一个SetVar,是用来给字符中的_root.a来传值的,当_root.a接收的值为1时,通过if语句做出判断,浏览器里会显示“您输入的值是1”,如下图:
当_root.a接收的值为2时,通过判断浏览器里会显示“您输入的值是2”,这个大家可以自己动手把1改成2,然后执行一下动作看看结果。
5._TEXT变量前缀关键词的妙用
到这,相信大家对字符资源多少已经有些了解了,这里还要给大家再介绍一下_TEXT这个变量前缀关键词,我们可以在NoahWeb表现层或是逻辑层中用_TEXT来调用一个已经存在的字符资源,这里我们新建一个只有简单文字的字符资源,字符资源起名为resourceByText,如下图:
字符资源代码中声名了一个NoahValue标签来调用动作中声名的变量message。
接下来还需要一个动作来打印字符资源,动作名为resourceByresource,动作部分代码为:
<Action name="example.resourceByresource" NextAction="">
<Out Area="main">
<SetVar Name="message" Value="[_TEXT.example.aaa]" />
<Echo ContentLinkId="resourceByText" />
</Out>
</Action>
代码中声明了一个变量message,变量中用_TEXT调用了aaa这个字符资源,aaa字符资源代码如下:
下面我们来执行一下resourceByresource这个动作,看看在字符资源中调用字符资源的显示结果,如下图:
从上图可以看出在字符资源resourceByText的两段文字之前打印出了aaa这个字符资源,_TEXT前缀变量关键词的用法还有很多,有兴趣的可以看看NoahWeb的在线官方文档。
好了这次的字符资源就讲到这里了,最后给大家重声一下:字符资源的内容可以是任何文本形式的代码,只要是文本代码你就可以把它做成字符资源。
本文章作者来自:
展开阅读全文