vc模版插件使用手册.docx

上传人:b****4 文档编号:12255257 上传时间:2023-04-17 格式:DOCX 页数:41 大小:30.42KB
下载 相关 举报
vc模版插件使用手册.docx_第1页
第1页 / 共41页
vc模版插件使用手册.docx_第2页
第2页 / 共41页
vc模版插件使用手册.docx_第3页
第3页 / 共41页
vc模版插件使用手册.docx_第4页
第4页 / 共41页
vc模版插件使用手册.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

vc模版插件使用手册.docx

《vc模版插件使用手册.docx》由会员分享,可在线阅读,更多相关《vc模版插件使用手册.docx(41页珍藏版)》请在冰豆网上搜索。

vc模版插件使用手册.docx

vc模版插件使用手册

模板插件使用方法

模板语言介绍

在《后台管理系统》中使用apache的velocity第三方软件,velocity本身定义了一套模板语言,并对提供了解析功能。

在源文件、模板中都可以使用velocity定义的模板语言,一般的情况下,我们只会使用其中一小部分常用功能就可以了。

具体的情况可以看附录。

 

Velocity常用的语法

在MaxPoral.PAS中常用的Velocity语法有

类型

说明范例

变量

变量的格式:

$VTL标识符

VTL标识符以字母开始,由字母、数字、横划线(-)或下划线(_)组成。

变量或者从模板中的set指令获得值,或者Java代码(同名变量)中获得值。

Velocity只处理已定义的变量引用,对于没有定义的变量引用,Velocity原样返回。

#set($foo="gibbous")

$moon=$foo

正式引用符号{}

正式引用符号在使用变量引用含糊的地方进行区分

#set($vice="klepto")

Jackisa${vice}maniac.

注释

单行注释(以##开始)和多行注释(包括在#*和*#之间)

##Thistextisnotvisible.

属性

格式:

$VTL标识符.VTL标识符

$customer.Address

$purchase.Total

方法

格式:

$VTL标识符(参数列表)

$customer.getAddress()

$purchase.getTotal()

$page.setTitle("MyHomePage")

$person.setAttributes(["Strange","Weird","Excited"])

特殊字符转义

对于$、#等特殊字符要正常显示,可以使用\进行转义,\\转义为\。

#set($email="foo")

$email

\$email

\\$email

\\\$email

输出结果是:

foo

$email

\foo

\$email

#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"))

#end

#foreach

#end

遍历集合数据

#foreach($productin$allProducts)

##对$product进行处理

#end

插件介绍

插件采用了模板语言进行定义,使用的方法和遵循模板语言定义。

插件上下文是每个文件对象(源页面、板块、模板)中默认存在的,并且可以直接使用,所有要使用的插件都有它创建。

插件是完成一组特定功能的组件,在页面上以标记存在。

目前系统实现了二种类型的插件:

工具插件和业务插件

⏹工具插件:

◆关键字:

tools

◆功能:

完成构造页面展示

⏹业务插件:

◆关键字:

bo

◆功能:

是关联系统中业务的桥梁,可以取出其中的数据进行展示

 

插件上下文对象

在创建文件对象(源页面、板块、模板)时,系统中已经存在插件上下文对象,可以直接使用。

插件上下文对象是创建其它插件的工厂,任何插件的构造都有他来创建。

标示名称:

$plugins

方法

方法

说明范例

create

create(插件类型,插件标识符)

创建插件对象

插件类型:

系统定义的插件类型,目前只有tools和bo

插件关键字:

插件的名称

创建一个业务插件,并赋值给$boService变量

#set($boService=$plugins.create("bo","service"))

var

var(变量名称)

取出系统定义的变量

取出系统变量testflag并赋值给$testflag变量

#set($testflag=$plugins.var("testflag"))

url

url(”WEB绝对路径”)

WEB绝对路径:

是指不包括站点名的绝对路径,开始已经是以“/”打头的功能:

转换成相对路径

转换iframe中的src链接

urlIndex

取出索引页面的url。

该方法有两个参数:

参数一:

分类id

参数二:

索引页面的类型关键字,目前只存在业务索引页面,填index_service

例子:

$plugins.urlIndex(“1001”,”index_service”)

 

链接转换

为了保证系统产生静态文件的通用性,在系统中,链接要使用相对路径。

系统自动会对常见的URL进行链接转换,他们是

●链接(a)

●图像(img)

●背景图像(background)

对少量的的其它地方使用的链接,请使用插件上下文的url方法进行转换

输入规则

说明范例

a

Href必须在标志a的后面,中间保留空格,

Href的内容必须是以”/”开始

系统对这样写的格式进行自动转换

ddd

img

Src必须在标志img的后面,中间保留空格

Src的内容必须是以”/”开始

系统对这样写的格式进行自动转换

background

background=”/…………….”

Background的内容必须是以”/”开始

系统对这样写的格式进行自动转换

其它要转换的地方

$plugins.url(“/…………………..”)

请使用插件上下文中的url方法对需要进行的转换进行强制转换

不需要链接转换

$plugins.s()

对符合自动url转换的地方,如image,a,background,如果里面的链接地址不需要被转换,请使用此方法

则对于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

#if("$car.fuel"=="")

4

#if((!

$car.fuel)&&("$!

car.fuel"==""))只检查null

范例

#set($a1=$content.wwwurl)

#set($a2=(!

$content.wwwurl))

#set($a3=("$content.wwwurl"==""))

#set($a4=("$!

content.wwwurl"==""))

#set($a5=((!

$content.wwwurl)&&("$!

content.wwwurl"=="")))


\$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("bo","news"))

第二步

Src必须在标志img的后面,中间保留空格

Src的内容必须是以”/”开始

系统对这样写的格式进行自动转换

使用插件对象的方法,并提供参数,取出结果值

如:

#set($content=$boNews.fetch("record","newsDetail","153"))

第三步

对结果值进行展示

输出结果

如:

${content.id}

${content.content}

说明

其中第一、二步是必须的

插件手册

插件公共方法

描述

名称

fetch(参数列表)

说明

取出插件对象/数据

此方法是所有插件对象在构建数据时必须使用的方法

参数列表请参考各个插件的说明

 

工具插件

引用文件插件

插件描述

插件描述include

说明

引用站点中的源文件、源文件板块、模板文件

类型

tools

插件标识符

include

范例

##创建引用插件

#set($include=$plugins.create("tools","include"))

include.fetch

插件方法说明include。

fetch

方法描述

fetch(文件类型,文件名)

参数一

文件类型:

包括

✧unit文件板块类型

✧file文件类型

✧tp模板类型

参数二

文件名

✧对于文件板块,文件扩展名为.un

✧对于文件类型,文件扩展名为.html

✧对于模板类型,文件扩展名为.vm

范例

##创建引用插件

#set($include=$plugins.create("tools","include"))

##引用板块

$include.fetch("unit","/a1/a22.un")

##引用文件

$include.fetch("file","/dddd.html")

##引用模板

$include.fetch("tp","/test.vm")

引用的限制

引用的限制

源页面

可以引用

✧模板

✧自己的板块

✧源页面

页面板块

可以引用

✧源页面

✧模板

注:

页面板块不能引用板块

模板

可以引用

✧模板

✧源页面:

不推荐使用

范例

范例

##创建引用插件

#set($include=$plugins.create("tools","include"))

##引用板块

$include.fetch("unit","/a1/a22.un")

##引用文件

$include.fetch("file","/dddd.html")

##引用模板

$include.fetch("tp","/test.vm")

索引分页插件

插件描述

插件描述index

说明

根据业务插件取出的数据,按照条件进行分页列表的构造

类型

tools

插件标识符

index

范例

##创建分页插件

#set($index=$plugins.create("tools","index"))

备注

索引插件不能单独使用,必须和业务插件对象配合才能使用

在使用索引分页插件时,必须先创建业务插件对象

限制

●索引插件只能使用在源页面中,不能用在模板和页面板块中

●索引插件只能做为主页面,即其它页面不能include它。

●索引插件可以被iframe

index.runner

插件对象说明index.runner

属性名称

runner

属性描述

绑定的业务插件对象

说明

索引分页插件主要使用此属性进行控制,他把行为转移到控制的业务对象上

index.runner.bind

插件对象方法说明index.runner.bind

方法描述

bind(业务插件对象)

参数一

业务插件对象:

已经创建的业务插件对象

范例

##构造业务对象

#set($boService=$plugins.create("bo","service"))

##构造索引对象

#set($index=$plugins.create("tools","index"))

##绑定对象

$index.runner.bind($boService)

备注

构造索引对象的步骤必须是

1.构造业务插件对象

2.构造索引对象

3.绑定索引对象

index.runner.condition

插件对象方法说明index.runner.condition

方法描述

condition([参数列表])

参数

参数列表:

因为runner把行为转移到绑定的对象上,参数列表一样

具体调用某个业务对象的方法,参数列表就和对应方法的参数列表一样。

所以参数列表请参考对应的业务对象方法的参数列表

范例

##构造业务对象

#set($boService=$plugins.create("bo","service"))

##构造索引对象

#set($index=$plugins.create("tools","index"))

##绑定对象

$index.runner.bind($boService)

##取出某类业务的列表

$index.runner.condition(["list","cate","10,1","2"])

$index.runner.link("news",$content)"

index.runner.link

插件对象方法说明index.runner.condition

方法描述

link([参数列表])

参数

参数列表:

因为runner把行为转移到绑定的对象上,参数列表一样

具体调用某个业务对象的方法,参数列表就和对应方法的参数列表一样。

所以参数列表请参考对应的业务对象方法的参数列表

范例

##构造业务对象

#set($boService=$plugins.create("bo","service"))

##构造索引对象

#set($index=$plugins.create("tools","index"))

##绑定对象

$index.runner.bind($boService)

##取出某类业务的列表

$index.runner.link("业务数据模板名称",$content)"

例如:

$index.runner.link("news_1",$content)"

index.runner.pageName

插件对象方法说明index.runner.pageName

方法描述

pageName(页数)

参数

页数:

在总页数内的页数

返回值

指定页面的文件名称

index.runner属性

属性法说明index.runner

firstName

第一页的页面名称

prevName

上一页的页面名称

nextName

下一页的页面名称

lastName

最后一页的页面名称

pageNo

当前的页数

pageCount

总页数

范例

范例

#set($boService=$plugins.create("bo","service"))

#set($index=$plugins.create("tools","index"))

$index.runner.bind($boService)

$index.runner.condition(["list","cate","2,1","2"])

#set($contentlist=$index.runner.currentData)

#foreach($contentin$contentlist)

${content.icpcode},

${content.servname},

${content.spname}

#end

first 

prev 

next 

last 

pageNo:

$index.runner.pageNo 

total:

$index.runner.pageCount 


thesecondpagename=$index.runner.pageName

(2)

内容分割插件

内容分页插件

描述

方法描述

根据传入的内容及分割的标志将内容分隔多份。

列表类型

record

方法关键字

参数一

备注

本插件在使用的时候无需声明。

根据新闻中的内容,如果包含分割符(为{%page%}),则将内容分割成多份,页面上显示分割后的页数。

只要插入范例中的代码即可:

范例

#if($plugins.isPageIndexContext())

#foreach($contentsin$plugins.pageIndexPlugIn.arrayUrl)

$velocityCount

#end

#end

PPS资源插件

PPS资源插件

描述

方法描述

根据传入的pps关键字,获取对应的参数。

关键字定义于配置文件System-config.xml中的PPS配置模块。

类型

tools

插件标识符

include

参数一

Stringstr资源的key

备注

com.aspire.ponaadmin.web.plugin.implement.ToolPlugInProxyPPSRes

注册该插件时必须为:

ppsres而且是放在工具插件下。

返回是配置文件中PPS配置模块中对应的数据。

范例

##创建插件

#set($res1=$plugins.create("tools","ppsres"))

##获取PPS配置资源

${res1.fetch("PPSRES","orderURL")}

业务插件

业务插件的公共方法

插件描述

插件描述

说明

调用业务数据的插件

类型

bo

插件标识符

注册的业务插件关键字(插件名称)

如:

news,service

范例

##创建引用插件

#set($boService=$plugins.create("bo","service"))

业务插件的数据分类

对于业务插件对象返回的数据,包括两种形式

✧单记录数据:

关键字record表示

✧列表数据:

关键字list表示

数据分类作为一个必填的,而且还是第一个参数传递给业务插件,定位返回值的类型。

单记录数据方法

单记录数据方法

说明

取出单条记录的方法

方法

fetch("record",方法关键字,参数列表)

参数一

方法关键字

如:

newsDetail取出新闻单条信息

参数二

参数列表

个数有1-n个

请参考每个方法关键字的定义

返回值

业务对象,提供属性供用户使用

具体属性请参考相应的方法

列表数据方法

列表数据方法

说明

取出列表数据的方法

方法

fetch("list",方法关键字,分页参数,参数列表)

参数一

方法关键字

如:

newsList取出新闻列表

参数二

分页参数,格式(每页记录数,第几页)

参数三

参数列表

个数有1-n个

请参考每个方法关键字的定义

返回值

业务对象,提供属性供用户使用

具体属性请参考相应的方法

范例

范例

##单记录范例

#set($content=$boService.fetch("record","service","888888","0000000007"))

$

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1