言归正传
use 和 apply
use 属性是指为某个组件指定一个类 , 该类要继承此组件
例如 :
- <window id="treeWnd" title="test" use="com.zk.test.MainWindow">
- <label id="lab" value="this is a label" onClick="treeWnd.initTree()" />
- </window>
<window id="treeWnd" title="test" use="com.zk.test.MainWindow">
<label id="lab" value="this is a label" onClick="treeWnd.initTree()" />
</window>
意思就是说 , 为这个 window 组件指定了一个后台类 MainWindow. 这个组件中的所有子组件都可以在 java 类中用 getFellow(“id”) 方法取得 . 并且所有的方法也可以放到后台类中执行 , 例如上边的 onClick 方法 . 当然也可以写在 <zscript> 中 . 但是官方也说 , 尽量写在类中 , 可以提高执行性能 .
如果喜欢 MVC 模型 , 可以选择用 apply
Apply 参考 : http://www.zkoss.org/smalltalks/mvc2/
隐含对象
self | org.zkoss.zk.ui.Component 组件本身。 举例 :self.id 获取本身 id |
spaceOwner | org.zkoss.zk.ui.IdSpace 组件的空间所有者,与 self.spaceOwners 相同。 |
page | org.zkoss.zk.ui.Page 页面,与 self.page 相同。 |
desktop | org.zkoss.zk.ui.Desktop 桌面,与 self.desktop 相同。 |
session | org.zkoss.zk.ui.Session 会话。 Session 获得方法 :Session session = Sessions.getCurrent(); |
application | org.zkoss.zk.ui.WebApp Web 应用程序。 |
componentScope | java.util.Map 在组件中定义的属性的映射 (map) 。与 org.zkoss.zk.ui.Component 接口中的 getAttributes 方法相同。 |
spaceScope | java.util.Map 在包含此组件的命名空间内定义的属性的映射 (map) 。 |
pageScope | java.util.Map 定义在页面内属性的映射 (map) 。与 org.zkoss.zk.ui.Page 接口中的 getAttributes 方法相同。 |
desktopScope | java.util.Map 定义在桌面内属性的映射 (map) 。与 org.zkoss.zk.ui.Desktop 接口中的 getAttributes 方法相同。 |
sessionScope | java.util.Map 定义在 session 内属性的映射 (map) 。与 org.zkoss.zk.ui.Session 接口中的 getAttributes 方法相同。 |
applicationScope | java.util.Map 定义在 web 程序内属性的映射 (map) 。与 org.zkoss.zk.ui.WebApp 接口中的 getAttributes 方法相同。 |
requestScope | java.util.Map 在 request 内定义属性的映射 (map) 。与 org.zkoss.zk.ui.Execution 接口中的 getAttributes 方法相同。 页面间传值多用次对象 , 例如 : requestScope.setAttribute(“map”,map); 在另一个页中用 requestScope.getAttribut(“map”) 取 |
arg | java.util.Map arg 参数会被传送到 org.zkoss.zk.ui.Executions 类的 createComponents 方法。不能为 null 。 注意,只有为包含页面 (included page)(createComponents 方法的第一个参数 ) 创建组件时 arg 才是可用的。另一方面,包括 onCreate 事件在内的所有事件会在之后被处理。然后,如果你想访问 onCreate 事件监听器中的 arg ,可以使用 org.zkoss.zk.ui.event.CreateEvent 类的 getArg 方法。 与 self.desktop.execution.arg 相同。 |
each | java.lang.Object 当 ZK 为每个迭代元素赋值 (evaluates) 时,其代表被迭代 (iterated) 集合的当前项目。一个迭代元素即为使用 forEach 属性的元素。 |
forEachStatus | org.zkoss.zk.ui.util.ForEachStatus 一个迭代器 (iteration) 的状态。当为迭代元素赋值时, ZK 陈列出 (exposes) 迭代发生时的相关信息。 |
event | org.zkoss.zk.ui.event.Event 或派生类 当前事件。仅对事件监听器可用。 |
6.获得HttpRequest的方法
HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest();