- 浏览: 1152093 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
语法
apply="a-class-name
"
apply="class1
, class2
,..."
apply="${EL_returns_a_class_or_a_collection_of_classes
}"
apply="${EL_returns_an_instance_or_a_collection_of_Composer_instances
}"
可以指定一个类、类的集合,apply用于初始化组件
(译者注:详见
use和apply的区别
)
.该类必须实现 Composer
接口 ,然后可以在doAfterCompose
方法内做一些初始化工作, 因为该方法会在组件和其子组件初始化后自动调用(译者注:callback)
1
<
window
apply
=
"foo.MyComposer"
/>
此外,也可以指定一个 Composer
类型对象实例,或者使用el表达得到的Composer对象实例的集合.
注意:
如果指定了el表达式,那么表达式会在组件初始化之前执行. 因此你不能访问组件的引用, 内置隐含变量self
引用的是父组件,如果有的话,或者是当前page,如果当前组件是根组件。
===============================
译者注:
我设计了一个错误验证上述观点,因为隐含对象self标示的组件对应的类中,一定没有name123456的getter报错,
但异常信息一定会标示name123456属性所属的类,window组件对应org.zkoss.zul.Window类
label对应org.zkoss.zul.Label类,那么在label appy属性中的self到底是标示那个组件呢?
<window title="My First Window" border="normal" width="200px">
<label apply="${self.name123456}"/>
</window>
运行结果报错信息如下:
Unable to find a value for "name123456" in object of class "org.zkoss.zul.Window" using operator "."
因此apply中的self标示的是父组件或者当前页面对象
======================================================================
如果想获取更多的控制权,例如异常处理,可以实现 ComposerExt
接口
假如有一个composer,你想引用到没一个页面,但又不想在每个页面都重复指定,可以注册一个系统级的composer。了解更多信息见 ZK Developer's Reference: System-level Composers
.
Syntax
apply="a-class-name
"
apply="class1
, class2
,..."
apply="${EL_returns_a_class_or_a_collection_of_classes
}"
apply="${EL_returns_an_instance_or_a_collection_of_Composer_instances
}"
It specifies a class, a collection of classes that are used to initialize the component. The class must implement the Composer
interface. And then, you can do the initialization in thedoAfterCompose
method, since it is called after the component and all its children are instantiated.
1
<
window
apply
=
"foo.MyComposer"
/>
In addition, you specify a Composer
instance, or a collection of Composer
instances by use of EL expressions.
Note:
the EL expressions are, if specified, evaluated before the component is instantiated. So you cannot reference to the component. Moreover, the self
variable references to the parent component, if any, or the current page, if it is the root component, in the EL expressions specified in this attribute.
If you want more control such as handling the exception, you can also implement the ComposerExt
interface.
If you have a composer that you'd like to apply to every page, you don't need to specify it in every page. Rather, you could register a system-level composer. For more information, please refer to ZK Developer's Reference: System-level Composers
.
发表评论
-
ZK PPT
2012-02-27 17:28 1204附件中为ZK系列的PPT -
zk+spring+hibernate延迟加载的解决办法
2012-02-24 14:22 1272由于Zk 的AU request,lazy load现在没 ... -
【zk开发】zk注解的秘密
2012-02-24 14:23 1596The DataBinder that reads ZUML ... -
【zk开发】zkstudio安装及使用视屏
2012-02-26 12:04 1250安装视屏 http://docs.zkoss.org/w ... -
zk主题生成器
2012-02-26 12:04 1619生成器在附件内,兼容zk3.x 与zk5.x,zktheme ... -
zk服务器端获取鼠标点击位置
2012-02-26 12:04 1395index.zul Xml代码 ... -
zk Fiddle-zk在线测试保存代码分享平台
2012-02-23 08:20 1472http://zkfiddle.org/ 是zk项目组之一 ... -
zksample2-一个复杂应用的zk示例
2012-02-23 08:19 1483Zks ample2 is a demo applica ... -
zk5.0.8发布
2012-02-23 08:18 956该版本是一个维护版本,主要于bug修复及引入几个新特性 ... -
zk数据绑定
2012-02-23 08:17 1799简介 : 关于数据绑 ... -
zk EE/PE/CE的区别
2012-02-18 09:32 3109自从zk5.0以后,zk拆分为 ... -
ZK 5.0.8 新特性
2012-02-18 09:32 18928月16日,zk官网:zk5.0.8将要发布 zk5. ... -
zk client与server code结合提高长操作的响应性
2012-02-18 09:32 1433一,关于长操作与响应性 zk client与serve ... -
zk tooltiptext中换行
2012-02-17 11:37 1540Xml代码 <window ti ... -
zk下载文件中文乱码解决方案
2012-02-17 11:37 3674本文来自http://sun4love.iteye.com/b ... -
【zk视频】如何了解一个组件默认支持服务器端事件
2012-02-17 11:37 1310如何了解一个组件默认支持服务器端事件? 知识点:在z ... -
【zk视频】如何查看zk源码,了解zk原理
2012-02-17 11:37 1652当org.zkoss.zul.Window关闭时,zk是如 ... -
ZK 5.0.7发布,及新特性
2012-02-15 09:10 1152ZK 是一套以 AJAX/XUL/Java 为基础的网页应用 ... -
zk异步请求异常,自定义错误页面的bug
2012-02-15 09:09 1128zk版本5.0.6 现在遇到一个问题,觉得是bug, ... -
zk扩展工具--spring集成--字符串处理--日期处理
2012-02-15 09:09 1420事例 Xml代码 < ...
评论