`
wang7839186
  • 浏览: 42398 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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
分享到:
评论

相关推荐

    How to Use Live Scripts in MATLAB.zip

    "How to Use Live Scripts in MATLAB" 是一个关于如何在MATLAB环境中利用Live Scripts进行工作的教程。Live Scripts是MATLAB的一项创新功能,它将代码、文本、图像、交互式控件和输出结果集成在一个单一的可执行文档...

    Spring Webscripts Reference Documentation

    《Spring Webscripts 参考文档》是Spring框架的一个重要组成部分,主要关注Web应用程序的开发。Spring Webscripts提供了一种灵活、结构化的途径来创建和管理Web服务,特别是那些与用户界面交互的动态Web内容。这篇...

    Laravel开发-laravel-scripts

    在现代Web开发领域,Laravel框架因其优雅的语法和强大的功能,已经成为PHP开发者最喜爱的工具之一。Laravel Scripts是针对Laravel框架的一系列辅助脚本,旨在简化开发过程,提高效率,增强项目的可维护性。本文将...

    Scripts_and_modules_for_freezing_Python_scripts_in_cx_Freeze.zip

    Scripts_and_modules_for_freezing_Python_scripts_in_cx_Freeze

    lora训练ui界面工具应用SD-Scripts项目源码

    一个用于Kohya的SD-Scripts的一组Python训练脚本。SD-Scripts是一个用于训练模型的项目,它使用了一个基于pyside6的用户界面(UI),以便更流畅地进行模型训练的过程。 SD-Scripts项目该项目提供了一些用于训练模型的...

    快速解决安装python没有scripts文件夹的问题

    安装Python2.7,好多次都不会产生scripts文件夹,导致无法使用pip。 折腾了一下,找到了解决办法。 让人无法接受的是,只要是我给的安装包一定不会产生scripts文件夹,所以应该是我的安装包出现了问题,建议出现这个...

    Scripts.rar

    "Scripts.rar"中的文件可能利用了这些库和框架,实现复杂的功能。 在实际应用中,理解并能运用这些脚本文件,不仅能够提高工作效率,还能提升解决问题的能力。例如,通过分析和修改"Scripts.rar"中的批处理脚本,...

    geoprocessing scripts with python.pdf

    In geoprocessing scripts, it's essential to handle different types of data differently. Here are some examples: - **Raster Data**: Raster data often requires specific operations like resampling, ...

    network-scripts.zip

    在IT行业中,网络剧本(network scripts)通常是指用于自动化配置、管理和监控网络设备的脚本。在"network-scripts.zip"这个压缩包中,我们可以推测它包含了一系列与弹性网卡相关的脚本,这些脚本可能被设计用于自动...

    Alfresco_WebScripts.pdf

    - **定义**: Alfresco Web Scripts 是一种脚本驱动的MVC框架,用于构建RESTful API、AJAX服务、小部件(Widgets)和端口(Portlets)。它们提供了灵活的方式来暴露Alfresco的内容管理功能,并允许开发人员创建丰富的...

    shellscripts:暴力框架的 Shellscripts

    在"shellscripts:暴力框架的 Shellscripts"这个主题中,我们主要关注的是利用Shell脚本来实现自动化任务,特别是与Chisimba框架相关的操作。 Chisimba框架可能是一个用于自动化测试、数据处理或系统管理的工具,而...

    Laravel开发-honeycomb-scripts

    "Laravel开发-honeycomb-scripts"这个项目是专门为Laravel框架设计的一组脚本,旨在帮助开发者更加高效地搭建和管理蜂窝式内容管理系统(CMS)。蜂窝式CMS是一种以模块化、灵活和可扩展性为核心的设计理念,使得网站...

    login_scripts.7z

    这里我们讨论的"login_scripts.7z"压缩包包含了两个Python脚本,"sign_in.py"和"login.py",它们分别对应于不同的签到逻辑。 首先,"login.py"可能是一个用于登录的脚本。在Python中,实现网页登录通常涉及到网络...

    lora训练模型-lora-scripts-main.zip

    在“标签”部分,我们看到“软件/插件 lora训练模型”,这表明压缩包里的内容可能是可以集成到其他软件或平台中的组件,例如,可能包含安装或导入到深度学习框架(如PyTorch或TensorFlow)的代码,以便用户能够利用...

    Scripts Expert脚本大师

    **Scripts Expert脚本大师**是一款高效实用的自动化工具,它为用户提供了一种便捷的方式来通过脚本执行一系列预先定义的动作,这些动作可以涵盖鼠标操作、键盘输入等多方面,极大地提升了工作效率。用户只需要设置一...

    解决 visdom的Downloading scripts问题

    解决执行 python -m visdom.server 时,出现 Downloading scripts, this may take a little while 的问题

    前端开源库-iamturns-scripts

    【前端开源库-iamturns-scripts】是一个由开发者iamturns创建并维护的前端脚本集合,主要用于个人或团队的项目开发中。这个开源库包含了iamturns在多个项目中常用的脚本,旨在提高开发效率,减少重复工作,并提供...

    Oracle DBA 常用Scripts

    Oracle DBA 常用Scripts(CHM)

Global site tag (gtag.js) - Google Analytics