vc模版插件使用手册Word格式.docx
《vc模版插件使用手册Word格式.docx》由会员分享,可在线阅读,更多相关《vc模版插件使用手册Word格式.docx(41页珍藏版)》请在冰点文库上搜索。
\$email
\\$email
\\\$email
输出结果是:
foo
\foo
#set
#set(LHS=RHS)
●LHS可以是变量引用或属性引用
●RHS可以是引用、字符串、数字、ArrayList或Map
#set($monkey=$bill)#set($monkey.Friend="
monica"
)
#set($monkey.Blame=$whitehouse.Leak)
#if
#elseif
#else
#end
#if指令在条件成立时,显示#if和#end之间的内容,否则显示#else和#end之间的内容。
#if指令中可以使用的关系和逻辑符号包括:
●<
、<
=、==、>
=、>
●&
&
(and)、||(or)、!
(not)
#set($testflag=$plugins.var("
testflag"
))
#if($testflag=="
true"
)
#set($boNews=$plugins.create("
bo"
"
news"
#set($content1=$boNews.fetch("
record"
newsDetail"
56"
))
#else
#set($content1=$plugins.var("
vo"
#foreach
遍历集合数据
#foreach($productin$allProducts)
##对$product进行处理
插件介绍
插件采用了模板语言进行定义,使用的方法和遵循模板语言定义。
插件上下文是每个文件对象(源页面、板块、模板)中默认存在的,并且可以直接使用,所有要使用的插件都有它创建。
插件是完成一组特定功能的组件,在页面上以标记存在。
目前系统实现了二种类型的插件:
工具插件和业务插件
⏹工具插件:
◆关键字:
tools
◆功能:
完成构造页面展示
⏹业务插件:
bo
是关联系统中业务的桥梁,可以取出其中的数据进行展示
插件上下文对象
在创建文件对象(源页面、板块、模板)时,系统中已经存在插件上下文对象,可以直接使用。
插件上下文对象是创建其它插件的工厂,任何插件的构造都有他来创建。
标示名称:
$plugins
create
create(插件类型,插件标识符)
创建插件对象
插件类型:
系统定义的插件类型,目前只有tools和bo
插件关键字:
插件的名称
创建一个业务插件,并赋值给$boService变量
#set($boService=$plugins.create("
service"
var
var(变量名称)
取出系统定义的变量
取出系统变量testflag并赋值给$testflag变量
url
url(”WEB绝对路径”)
WEB绝对路径:
是指不包括站点名的绝对路径,开始已经是以“/”打头的功能:
转换成相对路径
转换iframe中的src链接
<
iframesrc="
$plugins.url("
/abc/news1.html"
)"
>
/iframe>
urlIndex
取出索引页面的url。
该方法有两个参数:
参数一:
分类id
参数二:
索引页面的类型关键字,目前只存在业务索引页面,填index_service
例子:
$plugins.urlIndex(“1001”,”index_service”)
链接转换
为了保证系统产生静态文件的通用性,在系统中,链接要使用相对路径。
系统自动会对常见的URL进行链接转换,他们是
●链接(a)
●图像(img)
●背景图像(background)
对少量的的其它地方使用的链接,请使用插件上下文的url方法进行转换
输入规则
a
ahref=”/…………………”…………
Href必须在标志a的后面,中间保留空格,
Href的内容必须是以”/”开始
系统对这样写的格式进行自动转换
ahref=”/a/b.html”>
ddd<
/a>
img
imgsrc=”/……………..”…………….
Src必须在标志img的后面,中间保留空格
Src的内容必须是以”/”开始
imgsrc=”/image/a.gif”border=”0”>
background
background=”/…………….”
Background的内容必须是以”/”开始
tdbackground="
/image/index_09.gif"
其它要转换的地方
$plugins.url(“/…………………..”)
请使用插件上下文中的url方法对需要进行的转换进行强制转换
linkhref=$plugins.url("
/image/css/mon2004.css"
)rel="
stylesheet"
type="
text/css"
不需要链接转换
$plugins.s()
对符合自动url转换的地方,如image,a,background,如果里面的链接地址不需要被转换,请使用此方法
imagesrc=”$plugins.s(“/portal/a.gif”)”>
则对于url“/portal/a.gif”,系统不会将他转换为相对链接
日期转换
对返回值为日期行的数据,系统可以格式化其显示方式
前提
转换的数据必须为日期对象
●java.util.Date
●java.sql.Timestamp
转换方法
$plugins.formatDate(日期对象,日期格式串)
日期格式串
y年号,如1996
M月份,如July或者07
d月中第几天,如12
H小时(24制),如0、17
m分钟,如32
s钞钟,如55
S微钞,如978
E星期几,如Tuesday
D一年中的第几天,如189
wweekinyear(Number)27
Wweekinmonth(Number)2
aam/pmmarker(Text)PM
khourinday(1~24)(Number)24
Khourinam/pm(0~11)(Number)0
ztimezone(Text)PacificStandardTime
'
escapefortext(Delimiter)
singlequote(Literal)'
空值判断
对于返回值为null的值或对象属性,可以用下列方法进行判断
$car.fuel值为空(null)
1
#if(!
$car.fuel)
2
#if("
$!
car.fuel"
=="
"
3
$car.fuel"
4
#if((!
$car.fuel)&
("
))只检查null
范例
#set($a1=$content.wwwurl)
#set($a2=(!
$content.wwwurl))
#set($a3=("
$content.wwwurl"
=="
#set($a4=("
content.wwwurl"
#set($a5=((!
$content.wwwurl)&
)))
br>
\$a1=$a1<
\$a2=$a2<
\$a3=$a3<
\$a4=$a4<
\$a5=$a5<
=====================打印结果=========================
\$a1=$a1因为$a1为空值,所以velocity直接把变量当成字符输出
$a2=true当为空值时,输出true
$a3=false当为空值时,输出false
$a4=true当为空值时,输出true
$a5=true当为空值时,输出true
插件对象使用步骤
第一步:
步骤
署名
第一步
系统在使用插件的时候,必须先用插件上下文创建传间对象
如:
创建新闻插件
#set($boNews=$plugins.create("
第二步
使用插件对象的方法,并提供参数,取出结果值
#set($content=$boNews.fetch("
153"
第三步
对结果值进行展示
输出结果
${content.id}<
${content.content}<
br
说明
其中第一、二步是必须的
插件手册
插件公共方法
描述
名称
fetch(参数列表)
取出插件对象/数据
此方法是所有插件对象在构建数据时必须使用的方法
参数列表请参考各个插件的说明
工具插件
引用文件插件
插件描述
插件描述include
引用站点中的源文件、源文件板块、模板文件
插件标识符
include
##创建引用插件
#set($include=$plugins.create("
tools"
include"
include.fetch
插件方法说明include。
fetch
方法描述
fetch(文件类型,文件名)
参数一
文件类型:
包括
✧unit文件板块类型
✧file文件类型
✧tp模板类型
参数二
文件名
✧对于文件板块,文件扩展名为.un
✧对于文件类型,文件扩展名为.html
✧对于模板类型,文件扩展名为.vm
##引用板块
$include.fetch("
unit"
/a1/a22.un"
##引用文件
file"
/dddd.html"
##引用模板
tp"
/test.vm"
)
引用的限制
源页面
可以引用
✧模板
✧自己的板块
✧源页面
页面板块
注:
页面板块不能引用板块
模板
✧源页面:
不推荐使用
索引分页插件
插件描述index
根据业务插件取出的数据,按照条件进行分页列表的构造
index
##创建分页插件
#set($index=$plugins.create("
index"
备注
索引插件不能单独使用,必须和业务插件对象配合才能使用
在使用索引分页插件时,必须先创建业务插件对象
限制
●索引插件只能使用在源页面中,不能用在模板和页面板块中
●索引插件只能做为主页面,即其它页面不能include它。
●索引插件可以被iframe
index.runner
插件对象说明index.runner
属性名称
runner
属性描述
绑定的业务插件对象
索引分页插件主要使用此属性进行控制,他把行为转移到控制的业务对象上
index.runner.bind
插件对象方法说明index.runner.bind
bind(业务插件对象)
业务插件对象:
已经创建的业务插件对象
##构造业务对象
##构造索引对象
##绑定对象
$index.runner.bind($boService)
构造索引对象的步骤必须是
1.构造业务插件对象
2.构造索引对象
3.绑定索引对象
index.runner.condition
插件对象方法说明index.runner.condition
condition([参数列表])
参数
参数列表:
因为runner把行为转移到绑定的对象上,参数列表一样
具体调用某个业务对象的方法,参数列表就和对应方法的参数列表一样。
所以参数列表请参考对应的业务对象方法的参数列表
##取出某类业务的列表
$index.runner.condition(["
list"
cate"
10,1"
2"
])
$index.runner.link("
$content)"
index.runner.link
link([参数列表])
$index.runner.link("
业务数据模板名称"
例如:
news_1"
index.runner.pageName
插件对象方法说明index.runner.pageName
pageName(页数)
页数:
在总页数内的页数
返回值
指定页面的文件名称
index.runner属性
属性法说明index.runner
firstName
第一页的页面名称
prevName
上一页的页面名称
nextName
下一页的页面名称
lastName
最后一页的页面名称
pageNo
当前的页数
pageCount
总页数
2,1"
#set($contentlist=$index.runner.currentData)
#foreach($contentin$contentlist)
${content.icpcode},
<
ahref="
$plugins.url("
$content)"
${content.servname}<
${content.spname}<
$index.runner.firstName"
first<
&
nbsp;
$index.runner.prevName"
prev<
$index.runner.nextName"
next<
$index.runner.lastName"
last<
pageNo:
$index.runner.pageNo&
total:
$index.runner.pageCount&
thesecondpagename=$index.runner.pageName
(2)
内容分割插件
内容分页插件
方法描述
根据传入的内容及分割的标志将内容分隔多份。
列表类型
record
方法关键字
无
本插件在使用的时候无需声明。
根据新闻中的内容,如果包含分割符(为{%page%}),则将内容分割成多份,页面上显示分割后的页数。
只要插入范例中的代码即可:
#if($plugins.isPageIndexContext())
#foreach($contentsin$plugins.pageIndexPlugIn.arrayUrl)
$contents"
$velocityCount<
PPS资源插件
根据传入的pps关键字,获取对应的参数。
关键字定义于配置文件System-config.xml中的PPS配置模块。
类型
Stringstr资源的key
com.aspire.ponaadmin.web.plugin.implement.ToolPlugInProxyPPSRes
注册该插件时必须为:
ppsres而且是放在工具插件下。
返回是配置文件中PPS配置模块中对应的数据。
##创建插件
#set($res1=$plugins.create("
ppsres"
##获取PPS配置资源
${res1.fetch("
PPSRES"
orderURL"
)}
业务插件
业务插件的公共方法
插件描述
调用业务数据的插件
注册的业务插件关键字(插件名称)
news,service
业务插件的数据分类
对于业务插件对象返回的数据,包括两种形式
✧单记录数据:
关键字record表示
✧列表数据:
关键字list表示
数据分类作为一个必填的,而且还是第一个参数传递给业务插件,定位返回值的类型。
单记录数据方法
取出单条记录的方法
fetch("
方法关键字,参数列表)
参数一
newsDetail取出新闻单条信息
参数二
参数列表
个数有1-n个
请参考每个方法关键字的定义
业务对象,提供属性供用户使用
具体属性请参考相应的方法
列表数据方法
取出列表数据的方法
方法关键字,分页参数,参数列表)
newsList取出新闻列表
分页参数,格式(每页记录数,第几页)
参数三
##单记录范例
#set($content=$boService.fetch("
888888"
0000000007"
$