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框架学习总结.pdf
ZK框架学习总结.doc zk的安装,zk eclipse
ZK框架学习总结.docxZK框架学习总结.docxZK框架学习总结.docxZK框架学习总结.docxZK框架学习总结.docxZK框架学习总结.docx
ZK框架是一个用JAVA实现的简单但是功能强大的表现层框架。它包括了一个基于Ajax的事件驱动引擎、这也是它的最大特色。可以做到没有JavaScript,只通过ZUML(ZK User Interface Markup Language)这种标识语言即可做到...
zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架
ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 ...
ZK框架学习总结知识.pdf
ZK框架学习总结终稿.pdf
2022年ZK框架学习总结定义.pdf
2021年ZK框架学习总结汇编.pdf
2020年ZK框架学习总结汇编.pdf
ZK框架开发手册 ZK 7.0.5 Developer's Reference.pdf ZK框架开发手册 ZK 7.0.5 Developer's Reference.pdf
水电费水电费水电费水电费水电费水电费水电费是的发送到发送到方式的方式的
ZK资料学习zk框架的助手,带你步入zk的殿堂。。。。。
现在zk是一个刚刚兴起的框架,网络上关于zk框架的资源还是很少的,我学习这个碰到了不少的问题,不过还是慢慢的解决了,上传我的运用zk框架基于java的一个web学生管理系统开发给大家参考,希望能对学习zk框架的朋友...
ZK框架 : Ajax开发实战1.rar
ZK框架官方API,目前国内很少有这方面的资料!
zk框架中的一些注解使用,项目中的需要用到的,各位可以了解一下,希望可以帮到大家!今后可以多交流,相互学习,共同进步。
zk框架开发中遇到的错误整理