ZK框架对最新浏览器ie8的不支持,这一阵的ZK框架学习完全抛弃了。估计因为Html5 的冲击,浏览器内核的更改, 大部分的前端开发都有一定影响,未来总归是要前进的。ZK啊,你为什么不支持最新浏览器了?唉,前端就是有这个麻烦。如果说前端的竞争让前端受人瞩目,可前端的变化让开发人员痛苦。什么时候“分久必合”?
作为ZK初步总结的最后一篇,就弄一些ZK里面比较杂的东西吧。ZK做的灵活了,很多东西的用法不是很清晰。文档似乎没有跟的上。
【一】关于databinding数据绑定
ZK的数据绑定是个不错的特色之处,可在页面显示的时候将数据负载在组件上面,其效果形式和用EL表达式差不了很大,不过使用数据绑定,传闻在组件上面的crud可以更新到后台数据,不过我没有测试。有测试listbox的选择,当选择listbox任意一个数据列就也可以在其他组件上显示数据,而不用做任何逻辑处理的操作。
数据绑定的实现:
1,在页面对应的composer 有一个对应的AnnotateDataBinder 实例。且需要传递组件参数。
2,在composer里面需要有数据对应的get方法。
3,页面上使用@{***}来得到数据。
展示代码块:
//composer类中申明
private AnnotateDataBinder binder;
private String aaa;
//doAfterComposer里面实例化
public void doAfterComposer(Component comp){
....
binder = new AnnotateDataBinder(comp);
binder.loadAll();
....
}
//get方法:
public String getAaa(){
return aaa;
}
//页面上的调用
<textbox id="aa" value="@{[id].aaa}"/>
对数据绑定最喜欢的是它的converter,使用数据绑定,且拥有converter的,可以在类里面根据你的数据,改变组件的形式
<listcell label="@{mail.status,converter='ins.ZKMail.common.ImageConvert'}" />
而converter指定的类,有一个专门的实现接口。org.zkoss.zkplus.databind.TypeConverter。
//这个根据邮件读与未读来设置其图片。
public class ImageConvert implements TypeConverter {
public Object coerceToBean(java.lang.Object val,
org.zkoss.zk.ui.Component comp) {
return null;
}
public Object coerceToUi(java.lang.Object val,
org.zkoss.zk.ui.Component comp) {
String status = (String) val;
if (status.equals("1"))
((Listcell) comp)
.setImage("/img/Centigrade-Widget-Icons/EnvelopeOpen-16x16.png");
else if (status.equals("0")) {
((Listcell) comp)
.setImage("/img/Centigrade-Widget-Icons/Envelope-16x16.png");
Listitem item = (Listitem) ((Listcell) comp).getParent();
Iterator<Listcell> it = item.getChildren().iterator();
while (it.hasNext()) {
it.next().setStyle("font-weight:bolder");
}
}
return "";
}
}
【二】关于组件里面大量数据的分页查询
比如listbox的大量数据,虽然listbox里面有一个mode是“paging”的形态,可以为listbox 分页。可是这个也有一个前提,是必须所有的数据完全加载,才有此分页的效果。可是这样又有何意义了?也许ZK的新版本解决了这个问题。这里使用的是ZK带了page组件来达到分页的效果。
分页的实际操作在数据库层。
达到此效果的几个步骤:
1,页面自带paging组件
<paging id="listboxPaging" pageSize="2" visible="false"/>
2,监听paging的翻页事件,然后更新listbox的model类
public void onPaging$listboxPaging(Event event) {
FileQueryCondition fileQueryCondition = getFileCondition();
sfmSelectResultLBox.setModel(new ListModelList(fileQuery
.findFileByCondition(fileQueryCondition)));
binder.loadAll();
}
恩~,就是这么简单~,呵呵,本着实现效果的目的,可能代码里面出现错误,欢迎大家拍砖。
分享到:
相关推荐
由于提供的文件信息中,有关股票知识的部分占据了大部分内容,而与标题“ZK框架:Ajax开发实战”相关的内容并未在文件中明确出现,因此无法直接从给定的文件信息中生成与ZK框架和Ajax开发相关的内容。不过,我将基于...
ZK框架是一款用于Web开发的开源富客户端框架,它基于Java语言开发,并能够运行在服务器端。ZK框架允许开发者利用XUL(XML用户界面语言),通过简单的标记和脚本来创建复杂的Web界面。 首先,ZK框架的最新版本为...
ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 ...
ZK框架是一个基于Java开发的轻量级Web应用框架,专为构建富客户端用户界面而设计。它将服务器端的业务逻辑与客户端的界面展示完美地融合在一起,提供了丰富的组件库,使得开发者能够轻松创建出交互性强、响应速度快...
2022年ZK框架学习总结定义.pdf
2021年ZK框架学习总结汇编.pdf
2020年ZK框架学习总结汇编.pdf
**三、"ZK-Project4"中的实践** "ZK-Project4"可能是一个包含示例代码的项目,它可能展示了ZK框架的多种应用场景,如组件的使用、事件处理、数据绑定等。通过阅读和运行这个项目,开发者可以更直观地理解ZK的工作...
ZK框架是一个基于Java的轻量级Web应用框架,专注于简化用户界面的开发,尤其在构建富客户端(Rich Client)的Web应用时表现出色。它以其独特的ZUML(ZK User Interface Markup Language)语法,使得开发者无需深入...
ZK 是一个基于 Java 的轻量级Web框架,专门用于构建富客户端的Web应用程序。它提供了丰富的用户界面组件和事件处理机制,使得开发者能够轻松创建交互式的Web应用。本篇文章将深入探讨ZK框架的基本概念、开发环境的...
文档《ZK_学习总结100207.doc》可能涵盖了这些内容的详细讲解,包括ZK的安装部署、基本操作、故障恢复、性能优化等方面。 通过深入学习和实践ZK,你能够提升解决分布式系统中一致性问题的能力,为构建高可用、可...
zk框架的入门介绍,刚开始学习和接触zk框架的伙伴可以看看,不错的资料
现在zk是一个刚刚兴起的框架,网络上关于zk框架的资源还是很少的,我学习这个碰到了不少的问题,不过还是慢慢的解决了,上传我的运用zk框架基于java的一个web学生管理系统开发给大家参考,希望能对学习zk框架的朋友...
ZK框架 : Ajax开发实战1.rar