1、$email$email$email输出结果是:foofoo#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)
2、、!(not)#set( $testflag = $plugins.var(testflag)#if( $testflag=true) #set( $boNews = $plugins.create(bo,news #set( $content1 = $boNews.fetch(recordnewsDetail56) #else #set( $content1 = $plugins.var(vo#foreach遍历集合数据#foreach( $product in $allProducts ) #对$product进行处理插件介绍插件采用了模板语言进行定义,使用的方法和遵循模板语言定义。插件上
3、下文是每个文件对象(源页面、板块、模板)中默认存在的,并且可以直接使用,所有要使用的插件都有它创建。插件是完成一组特定功能的组件,在页面上以标记存在。目前系统实现了二种类型的插件:工具插件和业务插件 工具插件: 关键字:tools 功能:完成构造页面展示 业务插件: bo是关联系统中业务的桥梁,可以取出其中的数据进行展示插件上下文对象在创建文件对象(源页面、板块、模板)时,系统中已经存在插件上下文对象,可以直接使用。插件上下文对象是创建其它插件的工厂,任何插件的构造都有他来创建。标示名称:$plugins createcreate(插件类型,插件标识符)创建插件对象插件类型:系统定义的插件类型
4、,目前只有tools和bo插件关键字:插件的名称创建一个业务插件,并赋值给$boService变量#set( $boService = $plugins.create(servicevarvar(变量名称)取出系统定义的变量取出系统变量testflag并赋值给$testflag变量urlurl(”WEB绝对路径”)WEB绝对路径:是指不包括站点名的绝对路径,开始已经是以“/”打头的功能:转换成相对路径转换iframe中的src链接/iframeurlIndex取出索引页面的url。该方法有两个参数:参数一:分类id参数二:索引页面的类型关键字,目前只存在业务索引页面,填index_servic
5、e例子:$plugins.urlIndex(“1001”,”index_service”)链接转换为了保证系统产生静态文件的通用性,在系统中,链接要使用相对路径。系统自动会对常见的URL进行链接转换,他们是 链接(a) 图像(img) 背景图像(background)对少量的的其它地方使用的链接,请使用插件上下文的url方法进行转换输入规则aa href=”/” Href必须在标志a的后面,中间保留空格,Href的内容必须是以”/”开始系统对这样写的格式进行自动转换a href=”/a/b.html” dddimgimg src=”/.” .Src必须在标志 img的后面,中间保留空格Src的
6、内容必须是以”/”开始img src=”/image/a.gif” border=”0”backgroundbackground=”/.”Background的内容必须是以”/”开始td background=/image/ index_09.gif其它要转换的地方$plugins.url(“/.”)请使用插件上下文中的url方法对需要进行的转换进行强制转换link href=$plugins.url(/image/css/mon2004.css) rel=stylesheet type=text/css不需要链接转换$plugins.s()对符合自动url转换的地方,如image,a,bac
7、kground,如果里面的链接地址不需要被转换,请使用此方法image src=”$plugins.s(“/portal/a.gif”)”则对于url “/portal/a.gif”,系统不会将他转换为相对链接日期转换对返回值为日期行的数据,系统可以格式化其显示方式前提转换的数据必须为日期对象 java.util.Date java.sql.Timestamp转换方法$plugins.formatDate(日期对象,日期格式串)日期格式串y 年号,如 1996M 月份,如 July 或者 07d 月中第几天,如 12H 小时(24制),如 0、17m 分钟,如 32s 钞钟,如55S 微钞,如
8、978E 星期几,如 TuesdayD 一年中的第几天,如 189w week in year (Number) 27W week in month (Number) 2a am/pm marker (Text) PMk hour in day (124) (Number) 24K hour in am/pm (011) (Number) 0z time zone (Text) Pacific Standard Time escape for text (Delimiter) single quote (Literal) 空值判断对于返回值为null的值或对象属性,可以用下列方法进行判断$ca
9、r.fuel 值为空(null)1#if( ! $car.fuel )2#if( $!car.fuel = 3$car.fuel4#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直
10、接把变量当成字符输出$a2=true 当为空值时,输出true$a3=false 当为空值时,输出false$a4=true 当为空值时,输出true$a5=true 当为空值时,输出true插件对象使用步骤第一步: 步骤署名第一步系统在使用插件的时候,必须先用插件上下文创建传间对象如:创建新闻插件#set( $boNews = $plugins.create(第二步使用插件对象的方法,并提供参数,取出结果值#set($content= $boNews.fetch(153第三步对结果值进行展示输出结果$content.id$content.contentbr说明其中第一、二步是必须的插件手册插
11、件公共方法描述名称fetch(参数列表)取出插件对象/数据此方法是所有插件对象在构建数据时必须使用的方法参数列表请参考各个插件的说明工具插件引用文件插件插件描述插件描述 include引用站点中的源文件、源文件板块、模板文件插件标识符include#创建引用插件#set( $include= $plugins.create(toolsincludeinclude.fetch插件方法说明 include 。fetch方法描述fetch(文件类型,文件名)参数一 文件类型:包括 unit 文件板块类型 file 文件类型 tp 模板类型参数二 文件名 对于文件板块,文件扩展名为 .un 对于文件类
12、型,文件扩展名为 .html 对于模板类型,文件扩展名为 .vm#引用板块$include.fetch(unit/a1/a22.un#引用文件file/dddd.html#引用模板tp/test.vm) 引用的限制源页面可以引用 模板 自己的板块 源页面页面板块 注:页面板块不能引用板块模板 源页面 :不推荐使用索引分页插件插件描述 index 根据业务插件取出的数据,按照条件进行分页列表的构造index#创建分页插件#set( $index = $plugins.create(index备注索引插件不能单独使用,必须和业务插件对象配合才能使用在使用索引分页插件时,必须先创建业务插件对象限制
13、索引插件只能使用在源页面中,不能用在模板和页面板块中 索引插件只能做为主页面,即其它页面不能include它。 索引插件可以被iframeindex.runner插件对象说明 index .runner 属性名称runner 属性描述绑定的业务插件对象索引分页插件主要使用此属性进行控制,他把行为转移到控制的业务对象上index.runner.bind插件对象方法说明 index .runner .bind bind(业务插件对象)业务插件对象:已经创建的业务插件对象#构造业务对象#构造索引对象#绑定对象$index.runner.bind($boService)构造索引对象的步骤必须是1. 构
14、造业务插件对象2. 构造索引对象3. 绑定索引对象index.runner.condition插件对象方法说明 index .runner .condition condition(参数列表)参数 参数列表:因为runner把行为转移到绑定的对象上,参数列表一样具体调用某个业务对象的方法,参数列表就和对应方法的参数列表一样。所以参数列表请参考对应的业务对象方法的参数列表#取出某类业务的列表$index.runner.condition(listcate10,12)$index.runner.link(,$content)index.runner. linklink(参数列表)$index.ru
15、nner. link(业务数据模板名称例如:news_1index.runner.pageName插件对象方法说明 index .runner .pageName pageName(页数)页数:在总页数内的页数返回值指定页面的文件名称index.runner属性属性法说明 index .runner firstName 第一页的页面名称prevName 上一页的页面名称nextName 下一页的页面名称lastName最后一页的页面名称pageNo 当前的页数pageCount 总页数2,1#set( $contentlist = $index.runner.currentData)#fore
16、ach( $content in $contentlist ) $content.icpcode, a href=$plugins.url (,$content) $content.servname, $content.spname$index.runner.firstNamefirst $index.runner.prevNameprev$index.runner.nextNamenext$index.runner.lastNamelastpageNo: $index.runner.pageNo &total:$index.runner.pageCount &the second
17、 pagename=$index.runner.pageName(2)内容分割插件内容分页插件方法描述 根据传入的内容及分割的标志将内容分隔多份。列表类型 record方法关键字无本插件在使用的时候无需声明。根据新闻中的内容,如果包含分割符(为%page%),则将内容分割成多份,页面上显示分割后的页数。只要插入范例中的代码即可:#if( $plugins.isPageIndexContext()#foreach( $contents in $plugins.pageIndexPlugIn.arrayUrl )$contents$velocityCountPPS资源插件根据传入的pps关键字,获
18、取对应的参数。关键字定义于 配置文件System-config.xml中的PPS配置模块。类型 String str 资源的keycom.aspire.ponaadmin.web.plugin.implement. ToolPlugInProxyPPSRes注册该插件时必须为:ppsres 而且是放在工具插件下。返回是配置文件中PPS配置模块中对应的数据。#创建插件#set( $res1= $plugins.create(ppsres#获取PPS配置资源$res1.fetch(PPSRESorderURL)业务插件业务插件的公共方法插件描述 调用业务数据的插件注册的业务插件关键字(插件名称)n
19、ews,service业务插件的数据分类对于业务插件对象返回的数据,包括两种形式 单记录数据 :关键字 record 表示 列表数据:关键字 list 表示数据分类作为一个必填的,而且还是第一个参数传递给业务插件,定位返回值的类型。单记录数据方法取出单条记录的方法fetch(,方法关键字,参数列表)参数一newsDetail 取出新闻单条信息参数二参数列表个数有1n个请参考每个方法关键字的定义业务对象,提供属性供用户使用具体属性请参考相应的方法列表数据方法取出列表数据的方法,方法关键字,分页参数,参数列表)newsList 取出新闻列表分页参数,格式 (每页记录数,第几页)参数三#单记录范例#set( $content = $boService.fetch(8888880000000007$
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2