<<返回

标签定义规范

empires样例一:
展开
1.
<empires name="noticelist">
2.
<text><ul></text>
3.
<fill mode="repeat" item="3">
4.
<li><img src="images/p1.gif" />[{:DATE}] {:Title}</li>
5.
<li><img src="images/p1.gif" />[{:DATE/i:0}] {:Title/i:0}</li>
6.
</fill>
7.
<ignore>
8.
<li><img src="images/p1.gif" />[2010-9-10] 今日公告消息在这里显示<where option="{:GROUP}>=3"><a href="javascript:;">删除</a></where></li>
9.
<li><img src="images/p1.gif" />[2010-9-10] 今日公告消息在这里显示</li>
10.
<li><img src="images/p1.gif" />[2010-9-10] 今日公告消息在这里显示</li>
11.
<li><img src="images/p1.gif" />[2010-9-10] 今日公告消息在这里显示</li>
12.
</ignore>
13.
<text></ul></text>
14.
</empires>

empires样例二:
展开
1.
<empires name="aboutus">
2.
<fill mode="text">
3.
<div><img src="{:URL}" />{:CONTENT}</div>
4.
<div>......</div>
5.
</fill>
6.
<ignore>
7.
显示是一张图片<img src="" style="width:50px;height:50px"/>这里显示关于我们的文本
8.
</ignore>
6.
</empires>

如以上样例,所有需要数据填充的地方需被empires标签所囊括,empires有一个name属性,该属性限定了获取数据的方式(reflection.config进行配置,详见配置样例), empires子元素中需要填充字段的地方被fill元素所囊括(一个empires标签内只能存在一个fill元素),fill元素有一个mode属性(详见mode约定),该属性描述填充模式。如样例一,填充模式为repeat,则表示被fill囊括的元素需要被重复输出,该节点还配置了item属性值为3, 该属性表示重复输出3次。item属性是缺省的,默认情况为数据返回多少条记录则重复多少次,如果item值大于数据条数,则取小的。被fill标签囊括的元素是需要被重复的部分,其中需要被数据填充的地方按照{:AttrName}的形式标记, 该标记可以配置输出返回数据记录的第一几条数据,如{:DATE/i:0}表示第0条记录。如果该值大于数据条数,则该值被默认为未限定的模式,未限定模式为当前重复第几次所以就为几(详见字段填充策略)。AttrName必须为约定值之一。 被ignore标签所囊括的部分将被忽略掉,不会被输出成html文本。

如样例二,mode被配置为text,表示输出的为文本,fill标签内数据不会被重复,只会按照约定填充数据,然后输出html文本,按照惯例, 被ignore标签所囊括的部分任然将被忽略掉(fill元素内部可以包含ignore标签)。

系统预定义

展开
1.
<empires name="system">
2.
<method name="GetDateTimeWithLongDate" />
6.
</empires>

配置样例

展开
1.
<assemblybinding>
2.
<noticelist>
3.
<methodInfo>
4.
<assembly>Empires.PL.ServiceClient.NoticeSerivceClient</assembly>
5.
<method>GetNoticeList</method>
6.
<descript>返回最新公告信息</descript>
7.
</methodInfo>
8.
<parameters>
9.
<add type="System.Int32" getmode="CopId" pickkey="id">
10.
<decript>公司id</decript>
11.
<default></default>
12.
</add>
13.
<add type="System.Int32" getmode="QueryString" pickkey="page">
14.
<decript>当前第几页</decript>
15.
<default></default>
16.
</add>
17.
<add type="System.Int32" getmode="QueryString" pickkey="take">
18.
<decript>每页携带多少条记录</decript>
19.
<default>10</default>
20.
</add>
21.
</parameters>
22.
</noticelist>
23.
<aboutus>
24.
<methodInfo>
25.
<assembly>Empires.PL.ServiceClient.AboutUsServiceClient</assembly>
26.
<method>GetAboutUs</method>
27.
<descript>返回'关于我们'信息</descript>
28.
</methodInfo>
29.
<parameters>
30.
<add type="System.Int32" getmode="CopId" pickkey="id">
31.
<decript></decript>
32.
<default></default>
33.
</add>
34.
</parameters>
35.
</aboutus>
36.
</assemblybinding>

如样例配置文件,一个empires的name属性值为一个节点,所有节点的配置assembly必须来至于Empires.PL.ServiceClient程序集,parameters中配置的参数必须与程序中定义的参数列表顺序一致。 如果该参数是动态变化的则设定getmode属性(详见getmode定义),如果该参数有默认值则设定default值,如果既未设定默认值,也为设定getmode,或通过getmode获取值失败将抛出异常。

GetMode定义

  • CopId模式:通常如果设定为CopId模式则表示该值为公司id,如果被配置为CopId模式则系统将通过特定的方式自动获取该值。
  • QueryString模式:通过页面传值的形式获取该值(text.aspx?{PickKey}=..),
  • Session模式:通过Session获取该值Session["{PickKey}"]
  • Application模式:通过Application获取该值

字段填充策略

约定属性

mode约定