- 浏览: 227098 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
newLinuxJava:
http://www.voip-info.org/wiki/v ...
asterisk App Dial 拨号 发起外呼 -
newLinuxJava:
http://www.voip-info.org/wiki/v ...
asterisk App Dial 拨号 发起外呼 -
tsinglongwu:
这种做法在Server端getValue()方法是能获得修改后 ...
client-side programming客户端修改值,但服务端获取仍然旧值的解决办法 -
Listen_ing:
zk+spring+hibernate如何配置hibernat ...
zk+hibernate+spring零配置 -
peterxq181:
严重: Method not found in org.apa ...
zk+hibernate+spring零配置
import java.text.DecimalFormat; import java.text.ParseException; import java.util.List; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.util.GenericAutowireComposer; import org.zkoss.zkplus.databind.AnnotateDataBinder; import org.zkoss.zkplus.databind.DataBinder; import com.sun4love.common.web.zk.converter.SexRadiogroupConverter; /** * 注解绑定类 * <p> * 在GenericAutowireComposer基础上对注解进行增强, 因此你无需再页面上显式添加注解支持指令 * * <pre> * <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit"?> * </pre> * <p> * * @author sun4love * */ abstract public class GenericDataBinderComposer extends GenericAutowireComposer { private static final long serialVersionUID = -8962566563467903754L; protected DataBinder binder; @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); binder = new AnnotateDataBinder(comp); comp.setAttribute("binder", binder); } protected void loadAll() { binder.loadAll(); } protected void loadAttribute(Component comp, String attr) { binder.loadAttribute(comp, attr); } protected void loadComponent(Component comp) { binder.loadComponent(comp); } /** * 绑定bean到ui组件上 * <p> * 范例 * <hr /> * * <pre> * <code> * <window id="userWin" apply="GenericDataBinderComposerChild"> * <textbox id="txtFirstName" /> * <textbox id="txtlastName" /> * <label id="lblFullName" /> * </window> * GenericDataBinderComposerChild类 * * public GenericDataBinderComposerChild extends GenericDataBinderComposer{ * private Textbox txtFirstName; * private Textbox txtLastName; * private Label lblFullName; * * public void doAfterCompose(Component comp) throws Exception { * super.doAfterCompose(comp); * binder.addBinding(txtFirstName, "value", "userWin$composer.user.firstName"); * binder.addBinding(txtLastName, "value", "userWin$composer.user.lastName"); * * //"txtLastName.onBlur"中的txtLastName是页面上<textbox id="txtlastName" /> * //userWin$composer中的userWin是页面上window的id,$.composer是固定格式 * addBinding(lblFullName, "value", "userWin$composer.user.fullName","txtLastName.onBlur" , null,null,null); * } * } * </pre> * * @param comp * ui组件 * @param attr * ui组件的属性,例如<textbox value="@{user.name}"/>中的value * @param expr * 表达式,例如,例如<textbox value="@{user.name}"/>中的user.name * @param loadWhenEvents * 加载bean到ui的时机,例如comp1.onClck、comp2、onBlur、comp3.onSelect, * 等同于<textbox id="txtFullName" * value="@{user.fullName, load-when= * 'txtLastName.onBlur'}"/>中的txtLastName.onBlur * @param saveWhenEvent * 保存ui value到bean的时机,例如comp3.onBlur, 等同于<textbox * id="txtFullName" value="@{user.fullName, * save-when= * 'txtFullName.onBlur',}"/>中的txtFullName.onBlur * @param access * 访问安全性,允许保存ui value 到bean,还是是load bean到ui,还是两者都是,或者什么都不做, * 可选值为none,save,load,both(save/load), * @param converter * 转换器,ui到bean之间的互相转换,类似hibernate jdbc type到db type或者struts中的转换器 * ,样例见{@link SexRadiogroupConverter} */ protected void addBinding(Component comp, String attr, String expr, String loadWhenEvent, String saveWhenEvent, String access, String converter) { if (loadWhenEvent != null && "".equals(loadWhenEvent.trim())) { binder.addBinding(comp, attr, expr, (List) null, saveWhenEvent, access, converter); } else { binder.addBinding(comp, attr, expr, new String[] { loadWhenEvent }, saveWhenEvent, access, converter); } } /** * 绑定bean到ui组件上 * <p> * 范例 * <hr /> * * <pre> * 页面 * <window id="userWin" apply="GenericDataBinderComposerChild"> * <textbox id="txtFirstName" /> * <textbox id="txtlastName" /> * <label id="lblFullName" /> * </window> * GenericDataBinderComposerChild类 * * public GenericDataBinderComposerChild extends GenericDataBinderComposer{ * private Textbox txtFirstName; * private Textbox txtLastName; * private Label lblFullName; * * public void doAfterCompose(Component comp) throws Exception { * super.doAfterCompose(comp); * binder.addBinding(txtFirstName, "value", "userWin$composer.user.firstName"); * binder.addBinding(txtLastName, "value", "userWin$composer.user.lastName"); * * //"txtLastName.onBlur"中的txtLastName是页面上<textbox id="txtlastName" /> * //userWin$composer中的userWin是页面上window的id,$.composer是固定格式 * addBinding(lblFullName, "value", "userWin$composer.user.fullName","txtLastName.onBlur" , null,null,null); * } * } * </pre> * * @param comp * ui组件 * @param attr * ui组件的属性,例如<textbox value="@{user.name}"/>中的value * @param expr * 表达式,例如,例如<textbox value="@{user.name}"/>中的user.name * @param access * 访问安全性,允许保存ui value 到bean,还是是load bean到ui,还是两者都是,或者什么都不做, * 可选值为none,save,load,both(save/load), */ protected void addBinding(Component comp, String attr, String expr, String access) { binder.addBinding(comp, attr, expr, (List) null, (List) null, access, null); } /** * 绑定bean到ui组件上 * <p> * 范例 * <hr /> * * <pre> * <window id="userWin" apply="GenericDataBinderComposerChild"> * <textbox id="txtFirstName" /> * <textbox id="txtlastName" /> * <label id="lblFullName" /> * </window> * GenericDataBinderComposerChild类 * * public GenericDataBinderComposerChild extends GenericDataBinderComposer{ * private Textbox txtFirstName; * private Textbox txtLastName; * private Label lblFullName; * * public void doAfterCompose(Component comp) throws Exception { * super.doAfterCompose(comp); * binder.addBinding(txtFirstName, "value", "userWin$composer.user.firstName"); * binder.addBinding(txtLastName, "value", "userWin$composer.user.lastName"); * * //"txtLastName.onBlur"中的txtLastName是页面上<textbox id="txtlastName" /> * //userWin$composer中的userWin是页面上window的id,$.composer是固定格式 * addBinding(lblFullName, "value", "userWin$composer.user.fullName","txtLastName.onBlur" , null,null,null); * } * } * * </pre> * * @param comp * ui组件 * @param attr * ui组件的属性,例如<textbox value="@{user.name}"/>中的value * @param expr * 表达式,例如,例如<textbox value="@{user.name}"/>中的user.name * @param loadWhenEvents * 加载bean到ui的时机,例如comp1.onClck、comp2、onBlur、comp3.onSelect, * 等同于<textbox id="txtFullName" * value="@{user.fullName, load-when= * 'txtLastName.onBlur'}"/>中的txtLastName.onBlur * @param access * 访问安全性,允许保存ui value 到bean,还是是load bean到ui,还是两者都是,或者什么都不做, * 可选值为none,save,load,both(save/load), * @param converter * 转换器,ui到bean之间的互相转换,类似hibernate jdbc type到db type或者struts中的转换器 * ,样例见{@link SexRadiogroupConverter} */ protected void addBinding(Component comp, String attr, String expr, String access, String converter) { binder.addBinding(comp, attr, expr, (List) null, (List) null, access, converter); } }
发表评论
-
zk主题生成器
2011-09-27 20:37 1723生成器在附件内,兼容zk3.x 与zk5.x,zkth ... -
zk服务器端获取鼠标点击位置
2011-09-08 22:24 2692index.zul <?xml version=&qu ... -
zk Fiddle-zk在线测试保存代码分享平台
2011-09-02 10:40 2019http://zkfiddle.org/ 是zk项目组之一To ... -
zksample2-一个复杂应用的zk示例
2011-09-02 10:32 2089Zksample2 is a demo application ... -
zk5.0.8发布
2011-08-31 18:02 1178该版本是一个维护版本,主要于bug修复及引入几个新特性 ... -
zk数据绑定
2011-08-21 23:53 3758简介: 关于数据绑定:数据绑定是一种机制,在UI组件和数据源 ... -
zk EE/PE/CE的区别
2011-08-18 10:32 4452自从zk5.0以后,zk拆分为 EE / PE / CE ... -
ZK 5.0.8 新特性
2011-08-17 19:03 36518月16日,zk官网:zk5.0.8将要发布 z ... -
zk client与server code结合提高长操作的响应性
2011-08-17 15:58 1265一,关于长操作与响应性 zk client ... -
zk tooltiptext中换行
2011-06-10 23:10 2219<window title="My ... -
zk下载文件中文乱码解决方案
2011-06-02 11:44 3782本文来自http://sun4love.iteye.co ... -
【zk视频】如何了解一个组件默认支持服务器端事件
2011-05-25 15:48 1242如何了解一个组件默认支持服务器端事件? 知识点:在 ... -
【zk视频】如何查看zk源码,了解zk原理
2011-05-25 15:09 1375当org.zkoss.zul.Window关闭时,zk是如何工 ... -
ZK 5.0.7发布,及新特性
2011-05-12 09:27 1297ZK是一套以 AJAX/XUL/Java 为基础的网页应用程式 ... -
use【组件公共属性】
2011-04-12 22:52 1175语法 apply="a-class-nam ... -
zk异步请求异常,自定义错误页面的bug
2011-04-08 13:38 1443zk版本5.0.6 现在遇到一个问题,觉得是b ... -
zk扩展工具--spring集成--字符串处理--日期处理
2011-04-07 12:22 1545事例 <?taglib uri ... -
一张图让你清晰理解zk架构事件流程
2011-03-06 12:17 1486一张图让你清晰理解zk架构事件流程 -
zk组件事件调用的顺序
2011-03-02 13:09 2280将此文赠送给zk群朋友:易语静人(455938495) ... -
了解include组件
2011-02-17 12:12 2076了解include组件 预备知识: 加 ...
相关推荐
Laravel开发-composer-plugin codex composer插件更新清单。
Laravel开发-composer Rinvex Composer是一个直观的软件包,它利用Composer插件API支持安装过程中的其他操作,例如在默认供应商库外安装软件包,以及在安装、更新和卸载过程中运行自定义脚本。
dsp 开发平台Code Composer Studio 教程
这是一个composer开发手册,里面有详尽的安装及使用教程,需要时可以下载。
基于Yii2开发,支持composer,优化核心减少依赖,基于全新的架构思想和命名空间是一款持续更新迭代服务的企业级商用电商软件。基于命名空间和PSR-4规范,加入PHP7新特性。核心功能模块化,方便开发和维护。强化路由...
Laravel开发-composer-bump Laravel Artisan命令以增加composer.json版本。
Laravel开发-composer-about 解析composer.lock并返回有关已使用包的信息
Laravel开发-lisk-composer Lisk Composer是一个用于Laravel和PHP Composer项目的Lisk API包。
Drive composer是支持ABB通用架构变频器的一款启动和维护工具ABB通用架构变频器的一款启动和维护工具。该工具用于查看和设置变频器参数,并对设备性能进行监测和调试。Drive composer pro包括入门版本具备的所有功能...
Laravel开发-laravel-composer 只需通过Artisan运行composer命令
在网页找了很多的WorldComposer TerrainComposer,但是很多都是不能用,安装有问题,这两个是经过筛选可以使用了,在版本4.5上是没有问题的
Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个...
官网下载,V8.1,官网表示不再支持XP系统,大家注意下。
地形生成插件贼好用unity2018,2019 都可以 WorldComposer 1.61地形生成插件贼好用unity2018,2019 都可以 WorldComposer 1.61地形生成插件贼好用unity2018,2019 都可以 WorldComposer 1.61地形生成插件贼好用unity...
Laravel开发-view-composer 查看Laravel的作曲家包>=5.4
做Control4智能家居的同行需要的编程软件(Composer)。
Unity3D 真实地形插件WorldComposer和TerrainComposer