配置实现-静态网页生成

静态网页生成普遍的思路是利用写好的aspx页面,后台调用生成html。

由于用户一般不能编辑aspx页面,但是对html一般可以编辑和处理。aspx生成html的原理其实就是将特定的标签转换为html,自己利用了这一原理自定义了自己的替换标签,配合xml配置访问数据实现了html模板生成静态网页。

应用场景:

1、web网站前台静态页面

2、web打印或展示页面

思路介绍:

一、html自定义标签

通用标签
#表名.记录索引.字段名# 例如:#t.0.id#表示t表的第一行的id字段的值
#REPEAT-ROW-表名#行重复内容#REPEAT-ROW-表名# 例如:#REPEAT-ROW-t# 表示此处循环t表中所有记录行
  行重复内容中#字段名# 例如:#id# 表示表t中id字段的值
#REPEAT-COL-表名#内容#REPEAT-COL-表名# 例如:#REPEAT-COL-t# 表示此处循环t表中所有记录行并将字段的值拼在一起(如配置了此表名的colunm并设置了值则作为拼接的链接符,默认为,)
  内容中#字段名# 例如:#id# 表示表t中id字段的值
#QUERYSTRING#name#QUERYSTRING# 从QueryString中获取name的值
#CHINESE-DATE# 当前日期 格式为:2008年08月08日
#NORMAL-DATE# 当前日期 格式为:2008-08-08
#IMPORT-FILE#引入文件名(无后缀),页面参数name(如果name=value则将name和value传入引入页面)#IMPORT-FILE# 例如:#IMPORT-FILE#WWW_Detail,id#IMPORT-FILE#  表示此处导入页面传入id值的详述页面 关于文件,可以为网站下的文本文件,也可以是Tpl下面的配置模板
#IFISEMPTY#值?空时的值:不空时的值#IFISEMPTY# 其中值处没有值时取?后面的值 否则取:后面的值 
#IFISEQUAL#值=值?相等时的值:不等时的值#IFEQUAL#
#IFMARK#js表达式?相等时的值:不等时的值#IFMARK# 其中js表达式要返回true或false,js表达式仅支持通用标签
#PAGE-BREAK-AFTER##PAGE-SIZE#每页行数#PAGE-SIZE##PAGE-RECORD-COUNT#总记录数#PAGE-RECORD-COUNT##PAGE-BREAK-AFTER# 分页标签 其中总记录数如#total.0.amount#
#RMB#值#RMB# 将值转换为人民币大写

定制标签
#CHINESE-FULL-DATE# 中国特色年月日

二、xml定义数据访问

<?xml version="1.0" encoding="utf-8"?>
<root>
  <myquery title="用户表">
    <sql name="t" paranames="id">
      <![CDATA[SELECT * from user where id ={0}]]>
    </sql>
    <select>
      <column name="InDate" value="  年 月 日" dataformat="{0:yyyy年MM月dd日}"></column>
    </select>
  </myquery>
</root>

三、开发程序

1、读出html配置模板

2、读出xml数据配置

3、替换自定义标签

4、保存生成的html

你可能感兴趣的:(配置实现-静态网页生成)