|
注释语法:<%-- (sajkfhkjshfkjsfh,注释内容) --%>
一、动态对象访问方法
1.self:动态网站自身的对象属性; 语法: 操作符和参数可选;属性: name; 网站的ID; chn;网站的中文名称; title; 网站的网页标题; meta;网站的网页标签(页元); keywords;网站的关键词定义; intro;网站的简介;
例子:动态网站的帮助和使用 (输出网站的名称) 带参数:1175222852922 (按指定格式输出网站的发布日期)2.label集合; 语法:${lable.lableID.属性名称.[操作符(参数1<参数值1>;参数2<参数值2>……)].……} 操作符和参数可选;
属性: id :标识唯一性的数字 name :ID chn : 中文名称; value :一段文本; ename :英文名称 remark:注解
示例:添加属性模板,发布:
如:http://blog.daifumd.com/dochome/domains/dudu.com/
2.text集合; 语法: 操作符和参数可选; 属性: id :标识唯一性的数字 name :ID chn : 中文名称; ename :英文名称 topic :标题; content :内容 digest:摘要 remark:注解 url :访问网址;
示例:添加单页示例模板,发布:
例:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_29.htm
4.advers集合 语法: 操作符和参数可选;
属性: id :标识唯一性的数字 name :ID chn : 中文名称; ename: 英文名称 topic :标题; codes :代码 remark:注解 url :目标访问网址
5.cate集合 语法: 操作符和参数可选; 对于当前的cate可以使用this关键字代替ID,即${cate.this.属性名称}
属性: id :标识唯一性的数字 name :ID chn : 中文名称; ename: 英文名称 title: 网页标题; meta: 页元标签 keyword: 关键词 intro :简介; introduction: 详细介绍 rows:行数;
例子:添加栏目示例模板:
如:http://blog.daifumd.com/_daifumd/dochome/domains/dudu.com/cates/cate_10.html
6.image集合 语法: 操作符和参数可选;
属性: id :标识唯一性的数字 name :ID chn : 中文名称; ename: 英文名称 size: 图片大小; path: 路径 filename: 文件名 url: 网址; remark: 简介;
二、当前对象标签 当发布时存在着当前对象时,可以使用当前对象访问内部对象属性,当前对象可能有:单篇文章,当前分类,或当前文本;1.当前article 语法:${article.[操作符(参数1<参数值1>;参数2<参数值2>……)].……} 操作符和参数可选;
属性: id: 唯一性编号,可作为排列依据 topic: 题目; alias: 作者名称 author: 作者 pubdate: 发表时间,可作为排列依据; alterdate:修改时间,可作为排列依据; content: 内容 src: 来源; publiisher: 发布人; srcfrom: 来源 digest: 摘要
参看:属性示例模板并发布: 如:http://blog.daifumd.com/dochome/domains/dudu.com/
2.当前文本(text),使用this关键字代替ID 语法:${text.this.[操作符(参数1<参数值1>;参数2<参数值2>……)].……} 操作符和参数可选; 属性与访问text的方法相同: 示例:添加单页示例模板,发布:
例:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_29.htm
3.当前分类(cate),使用this关键字代替ID 语法:${cate.this.[操作符(参数1<参数值1>;参数2<参数值2>……)].……} 操作符和参数可选; 属性与访问cate的属性相同 例子:添加栏目示例模板:
如:http://blog.daifumd.com/_daifumd/dochome/domains/dudu.com/cates/cate_10.html
三、内容列表标签语法 列表标签常用参数: id(必须),循环体内调用的循环对象句柄; rows:列表的行数,如果是零或缺省,即把符合条件的记录全部列出;默认是全部列出; ord: 列表排序方式,可以选择希望排序的属性,服从sql中的ordery by子句;如:ord="pubdate",相当于order by pubdate;如果是pubdate|desc 相当于order by pubdate desc bgcolors:针对在列表中的颜色交替效果,格式如:"yellow,pink,#9966cc",在循环体中使用${bgcolor}读取
1.当前分类列表标签: <cate:list id="循环体内对象名称" rows="行数" ord="排列选择" bgcolors="yellow,pink"> 循环体 ${对象取值}; bgcolor="${bgcolor}" </cate:list>
例: 获得news这个文章分类作为当前分类的列表,10行: <cate:list id="theart" rows="10" ord="pubdate|desc"> ${theart.topic} </cate:list> 上述列表的意思是按发布时间最新排列取前十个,循环体中只列出对象(这里是文章,(和article读取方式相同))的题目; 例子:添加栏目示例模板:
如:http://blog.daifumd.com/_daifumd/dochome/domains/dudu.com/cates/cate_10.html
2.指定分类列表标签: <list cate="分类ID" id="循环体内对象名称" rows="行数" ord="排列选择"> 循环体 ${对象取值} </list>
使用方式与cate:list相同,只是多了一个cate属性,用于指明是那一个分类 其他支持参数: cate(可选),分类ID(NAME);如果没有则要求提供ent,如果ent也为空,默认是article类型。如果cate为空则提供该类型不分类别的内容列表; ent(可选):列表对象类型;默认是article;如果cate不为空,本项就是不必要的,系统会自动以cate的类型作为ent;
例1:(假定类型aaa的内容类型是article) <list cate="aaa" ent="article" id="theart" rows="行数" ord="排列选择"> 循环体 ${theart.topic} </list> 等同于:(从cate中取ent) <list cate="aaa" id="theart" rows="行数" ord="排列选择"> 循环体 ${theart.topic} </list>
例2:(article不分类别的全列表) <list ent="article" id="theart" rows="行数" ord="排列选择"> 循环体 ${theart.topic} </list>
上例等同于:(因为类型默认是article)
<list id="theart" rows="行数" ord="排列选择"> 循环体 ${theart.topic} </list>
2.指定分类类型列表标签:(article,adsinfo,product) <list cate="分类ID" id="循环体内对象名称" rows="行数" ord="排列选择" contentype="分类类型"> 循环体 ${对象取值} </list> 参考: http://www.daifumd.com/_daifumd/dochome/domains/dudu.com/texts/text_27.htm
四、集合迭代标签 这种标签用于迭代全部已知集合类型对象的标签,目前支持cate对象和text对象;
主要参数: id(必须),循环体内调用的循环对象句柄; namein(可选):用于指定名称限定时使用,如果namein为空,则全部迭代,格式是使用pause符号枚举,如"name1,name2"; exp(可选):true或false,指是否是排斥型的,与namein配合,如果exp为true,则只有namein中的名称不符合的对象才会去入循环体;默认是false.
1.全部迭代; cate对象: <cates id="thecate" exp="false"> 循环体(通过${thecate.属性名称}访问,thecate由id指定) </cates>
text对象: <texts id="thetext" exp="false"> 循环体(通过${thecate.属性名称}访问,thecate由id指定) </texts>
2.指定名称迭代;
当用户了解所要调用的集合名称,同时不希望迭代全部子对象时使用;关键属性是namein,内容是子对象的name集合,用逗号(pause)隔开(注意:中文的逗号不能接受)1.cates标签,针对分类对象的可选集合标签 <cates namein="name1,name2" id="thecate"> 循环体(通过${thecate.属性名称}访问,thecate由id指定) </cates> 注:属性名称与cate对象相同。2.texts标签,针对单页文本的可选集合标签 <texts namein="name1,name2" id="thetext"> 循环体(通过${thetext.属性名称}访问,thetext由id指定) </texts> 注:属性名称与text对象相同。
2.指定类型迭代;
可以指定类型(article | adsinfo | product),使用contentype属性,迭代出该类型的列表对象。
五、对象和对象属性; 可以使用对象标签直接调用本动态网站所属的单个对象的属性;对象属性可以使用oid或name(单一的英文名称) 语法:
<entity ent="对象类型" id="嵌套文本中的识别标志" oid="对象的OID"> 嵌套文本$ </entity>
如:
<entity ent="article" id="theart" oid="24329"> ${theart.topic} </entity> <entity ent="bbsthread" id="thethread" oid="383"> ${thethread.topic} </entity>
例子:添加对象属性模板;
效果:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_25.htm 六、操作符和参数 1.日期操作符(date) 当显示的属性是日期类型时,默认是表示日期的微秒长值;可以使用date调节格式;如:${theart.pubdate.[date(format<pattern>)]} 将按所定义的日期类型显示该文章的日期,而不是长数字;
2.子字符串 如果截取的对象的属性为字符串,可以通过这个操作符截取对象属性中的字符串的指定长度;
格式:[substring(start<0>;end<0>;startstr<>;endstr<>)] start开始位置;end结束位置;starstr:指示开始位置的特征字符串;endstr:指示结束位置的特征字符串;
例 :thethread.content(前一百字符):=<br>${thethread.content.[substring(end<100>)]}
例子示例:
添加对象属性模板;
效果:http://blog.daifumd.com/dochome/domains/dudu.com/texts/text_25.htm
七、引入片模板; 可以使用template将生成的片模板中的代码引入,以便提高代码的使用效率。
以下内容已经升级,使用专门的template标志用于代替原有的版模板功能;import专用于引入网址内容
<template name="dudu_1_fragment_1"/> <template id="3375"/>
name:要引入的模板名字;
id:要引入的模板的id;
使用此模板功能需要选添加fragment_1,fragment_2模板; import标签参数:
- template:要引入的模板名字;
- templateid:要引入的模板的id;
- url:要引入的网页网址;
- encoding:要引入的网页网址编码(默认为gbk);
以上四条至少有一条不为空。
引入fragment_1;(注意把名称改为您引入后的模板的ID) <import template="dudu_1_fragment_1"/> 引入fragment_2;(注意把名称改为您引入后的模板的ID) <import templateid="3375"/> 引入本站的topmenu) <import url="/fragments/topmenu.jsp"/>
|