zk框架之Scripts in ZUML

ZUML允许在页面中嵌入script脚本,有两种类型的脚本:server端的和client端的,我们先讨论服务器端的脚本。

 

在ZK提供的文档里,说明了server-side的脚本有两种嵌入方式:the zscript element、the event handler。前者当页面加载完成后执行,后者是在事件触发时执行。

 

我们可以想见,在ZUML page中嵌入脚本对于应用程序执行是非常有效的,因为如果对页面的样式进行修改或者其他的操作就不必再进行编译了。

 

zscript

你可以在zscript元素中嵌入脚本,在脚本中,你可以声明变量,函数,甚至是一个pojo,默认的情况下,脚本是java语言,当然你还可以使用其他语言,比如说groovy。但是无论使用的是那种语言,它只有在运行期间才进行翻译,所以一些语法错误或者排版错误只有在这个时候才能被检查出来,由于它是在server当中运行的,所以可以接受任何类型的library,而且这些对于页面中的el来说是完全可见的。

 

cdata

在zscript当中代码必须是格式良好的xml,也就是说你必须使用特殊的字符,比如你想使用<就必须用&lt来代替,为了减少特殊字符的使用我们可以把代码都嵌入到cdata当中,那么在它里面的代码就不会被当做普通的text了。

<zscript>

<![CDATA[

if(a<b&&b<c){

<!-- 这样是可以的,因为我们使用了cdata-->

}

]]>

</zscript>

 

Event Handlers

这是在zuml中嵌入脚本的第二种方式

<button onClick="alert(........)"/>

请注意,是以on开头的,而且第三个字母是大写的,在这段代码中,onClick会被当做button的一个属性。

当这个属性的值比较复杂的情况下,我们可以用attribute元素。

 

<button label="hi">

<attribute name="onClick">

<![CDATA[

if(anything > best){

best = anything

}

]]>]

</attribute>

</button>

需要注意的是,我们应该将el和ascript区分开来,不能将二者混用

 

 

zscript支持除了java意外的其他语言

<?page zscriptLanguage="Groovy"?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值