ZK6学习笔记 一(升级信息与比较:RC---RC2--6.0last)
ZK6绑定是一种全新的数据绑定系统与新规范和实现。ZK绑定现在还支持使用MVVM设计模式。MVVM是一种变体的模型/视图/控制器(MVC设计模式,帮助实现分离数据和逻辑从表现很容易。它将视图层与层之间的紧密耦合模型避免视图和控制器层。UI设计师和程序员可以做他们的工作在平行的和独立。

先看zk6RC的一个例子,HelloMVVM.zul:
<window apply="org.zkoss.bind.BindComposer" viewModel="@bind(vm='org.zkoss.mvvm.examples.hello.HelloViewModel')">
<label value="@bind(vm.message)"/>
<button label="Show" onClick="@bind('showHello')"/>
</window>
ViewModel:HelloViewModel.java
public HelloViewModel {
private String message;
public String getMessage() {
return message;
}
@NotifyChange("message")
public void showHello() {
message = "Hello World!";
}
}
在zk6升级到RC2之后绑定的方式有了更新,就上面的例子改变如下:
View:HelloMVVM.zul
<window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('org.zkoss.mvvm.examples.hello.HelloViewModel')">
<label value="@load(vm.message)"/>
<button label="Show" onClick="@command('showHello')"/>
</window>
ViewModel:HelloViewModel.java
public HelloViewModel {
private String message;
public String getMessage() {
return message;
}
@Command @NotifyChange("message")
public void showHello() {
message = "Hello World!";
}
}
2012年2月14日zk发布了最后一个6.0版本,Released on February 14, 2012.它与RC2比较更新了Tooltarbutton的触发模式,该模式的触发在toolbarbutton单击事件触发之后发生,toolbarbutton将会被选中。
<window title="Toolbarbutton" border="normal" width="250px" >
<toolbar >
<toolbarbutton label="File system" mode="toggle" >
<attribute name="onCheck"><![CDATA[
if(event.isChecked()){
result.setValue("Activated:"+event.getTarget().getLabel());
}else{
result.setValue("Deactivated:"+event.getTarget().getLabel());
}
]]></attribute>
</toolbarbutton>
</toolbar>
<label id="result" />
</window>

zk6的升级信息还包括Servlet3的增强、Servlet 3插件支持、jQuery和CSS 3样式服务器端选择器、升级到jQuery 1.6.4、Menubar支持键盘导航、Combobutton、Absolutelayout(绝对位置布局),Anchorlayout(灵活布局))现在在CE中、EventListener优先级、消息框改进、Hlayout支持valign等等.
消息框
语法:Messagebox.show(btn.getLabel(), new Button[] {Button.CANCEL, Button.OK}, _listener);

例子:
Messagebox.show("Yes and No", "Test", new Messagebox.Button[] {Messagebox.Button.YES, Messagebox.Button.NO},
new String[] {"Yes, it is correct"}, Messagebox.INFORMATION, null, null);

748

被折叠的 条评论
为什么被折叠?



