ZHTML表达式与内置变量.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ZHTML中表达式与内置变量 ZHTML中表达式是从EL修改而来,主要增加了对ZCF中常用的数据对象的支持,用法和EL相似。 1.表达式的语法结构 ${expression}:expression里可以包含常量、变量名和运算符,其中常量主要有null、true、false、数值和字符串,字符串既可以用双引号也可以用单引号。 2.表达式中的运算符 包括五个算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取余); 六个关系运算符:==(等于)、!=(不等于)、(,,,,于)、(大于)、=(,,,,于等于)、=(大于等于); 三个逻辑运算符:(与)、||(或)、!(非); 三个其它运算符:empty、条件运算符a?b:c、以及括号()。 示例如下: 3.取变量中的成员数据 表达式中数组可以使用[]来按下标存储,例如${arr[1]}; 表达式中的对象和Map可以用点运算符(.)来获取属性和键值,例如${obj.field}、${map.key}; 表达式中的对象和Map除了用点运算符来获取外,还可以使用[]来获取,例如${obj[field]}、${map[key]}; 特别是当要取的属性和键值含有特殊或者是一个变量时,只有用[],例如${map[a?]}、${obj[fieldName]}。 示例如下: 注意:成员数据包括map中的key、对象的publich属性和getter。 4.表达式中的函数 表达式中支持使用函数,语法为:prefix:function(arg1,arg2,arg3….argN); ZCF内置的函数都不用prefix部分,直接写为function(arg1,arg2,arg3….argN); 表达式中凡是可以写参数的地方都可以用一个函数来代替,例如${pow(2,pow(2,2))}; 函数可以自定义,请参见知识库自定义ZHTML函数相关的文章。 5.表达式中的变量查找顺序 表达式中如果有变量的话,ZCF会去上下文中查找变量的值。首先ZCF会从当前标签提供的变量表中查找有没有指定名称的变量,如果有则返回该变量的值,如果没有找到则从当前标签的父标签的变量表中查找,此时还没有找到则逐级上溯查找,直到整个页面的全局变量表。如果表达式不在任何标签之中,则直接从全局变量表中查找。 有时候会遇到两个变量在本标签和父标签中都有的情况,例如z:list标签中的${i},这时可以用${i}取本标签中的值,用${parent.i}取父标签,甚至在三层z:list嵌套时可以用${parent.parent.i}取父标签的父标签中的变量值。 以输出乘法口诀表为例: 6.可用全局变量前缀清单 Request:http请求参数; Response:响应参数,注意此处不是取http响应中的attribute,而是取我们在JAVA方法中通过$S()方法或者Response.put()设置的值; Header:http头信息; Cookie:cookie数据; Current:本次请求的全局数据; User:当前用户的数据; Member:当前会员的数据; Priv:当前用户或者会员的权限数据; Config:系统全局配置数据; 前缀不区分大,,,,写,其中Request和Response变量可以加前缀,也可以不加前缀,例如如果url中带了type=1的参数,则${type}和${request.type}都可以取到1。 示例如下: 7.所有示例的执行结果 如下所示:

文档评论(0)

baa89089 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档