核心提示:在看具体的标签之前,我们应该定义什么作为我们的标签.为了写一个标签,我们使用<@ ... @>标签结点.左标签(<@)和右标签(@>)是默认的标签.如果必要的话,这些标签我们能够在PHPmvc-config.XML中重新定义....
在基本的介绍之后,我们现在就可以来看看模板标签系统的语法.
在看具体的标签之前,我们应该定义什么作为我们的标签.为了写一个标签,我们使用<@ ... @>标签结点.左标签(<@)和右标签(@>)是默认的标签.如果必要的话,这些标签我们能够在PHPmvc-config.XML中重新定义.
模板标签系统现在支持以下3种标签:包含指令,声明和表达式.我们现在来看看这些指令.
包含指令
包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:
<@ include 'pageHeader.ssp' @>
一个包含指令在模板上下文种的例子:
以下为引用的内容: <HTML> <head> ... </head> <body> <center> <table class='pageLayoutTable'> <tr> <td class='pageHeader'> <@ include 'pageHeader.ssp' @> </td> </tr> <!-- PAGE CONTENTS --> ... <!-- PAGE FOOTER --> ... </table> ... </center> </body> </HTML> |
以下为引用的内容: <!-- Page Header --> <span> <@ =viewConfig.getAppTitle @> </span> 这个表达式将被编译并且将在运行时输出为: <!-- Page Header --> <span> Flash Jacks' Sleek Tab Site </span> |
声明
声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:
以下为引用的内容: <@ salesAreaID = "Central District" @> 我们能够在模板文件中使用声明: <@ saleMonth = data.getValueBean('SALE_MONTH') @> <@ saleTitle = data.getValueBean('SALE_TITLE') @> <@ dealHeading = data.getValueBean('DEAL_HEADING') @> <@ salesAreaID = "Central District" @> <HTML> |
在这里例子中,我们声明了一些页变量.前3个变量已经在我们创建的Action类中的ActionObject中被赋值:data.getValueBean('SALE_MONTH').第4个变量被赋了一个字符串值:salesAreaID = "Central District".
声明的变量现在可以在页面中使用了:
以下为引用的内容: <!-- start_page_contents_include --> ... <!-- Content section heading --> <h4><@=dealHeading @> <@=saleMonth @></h4> <center> <center> |
表达式
表达式标签允许我们在模板页中执行表达式.表达式的结果将被包含进模板页.以下表达式将被用来显示一个简单的字符串(salesAreaID),也可以找回框架配置类的属性:
以下为引用的内容: <@ =salesAreaID @> <@ =viewConfig.contactInfo @> 为了使用这些表达式,我们要在之前声明过: <@ salesAreaID = "Central District" @> 或者在ViewResourcesConfig对象(viewConfig)的属性在view-resources结点中声明过: <view-resources appTitle = "Flash Jacks' Sleek Tab Site" contactInfo = "Flash.jack@jackshost.com" ... </view-resources> |
以下为引用的内容: The PHPMVC_Tags Object-Method Notation PHP Style sales = data->getSales Dot Style sales = data.getSales With Method Params staff = data.getValueBean("STAFF") Retrieve Data Array products = data->getValueBean("PRODUCTS_ARRAY") |
在下一个单元我们将看到如何使用模板标签系统将这些结合在一起来构建页面.