Zscript to MVC Extractor"
From Documentation
Line 7: | Line 7: | ||
== Step by Step == | == Step by Step == | ||
− | + | In the first, we have a ZUL file with Zscript inside. | |
<source lang="xml"> | <source lang="xml"> | ||
<window id="win" > | <window id="win" > | ||
Line 21: | Line 21: | ||
</source> | </source> | ||
− | + | You can select a component, and then click the extractor icon in toolbar. | |
+ | [[Image:studio_mvc_extract_1.png]] | ||
+ | |||
+ | A dialog will be shown to ask you some detail, just like new a java class. The default class name is based on the id of the selected component. | ||
+ | [[Image:studio_mvc_extract_2.png]] | ||
+ | |||
+ | The modified ZUL file and generated java file would be like: | ||
+ | |||
<source lang="xml"> | <source lang="xml"> | ||
<window id="win" > | <window id="win" > | ||
− | <button id="btn" | + | <button id="btn"/> |
<button id="att"> | <button id="att"> | ||
</button> | </button> | ||
Line 66: | Line 73: | ||
</source> | </source> | ||
− | |||
− | |||
{{ZKStudioEssentialsPageFooter}} | {{ZKStudioEssentialsPageFooter}} |
Revision as of 08:59, 6 December 2010
Introduction
For better architecture and future maintainence, it's better to follow MVC pattern to implement a web application. The extractor helps you to refactor a ZUL with Zscript to MVC way by the rules mentioned in the smalltalk: ZK MVC Made Easy.
Step by Step
In the first, we have a ZUL file with Zscript inside.
<window id="win" >
<button id="btn" onClick='alert("aaa");' />
<button id="att">
<attribute name="onClick">
<![CDATA[
alert("bbb");
]]>
</attribute>
</button>
</window>
You can select a component, and then click the extractor icon in toolbar.
A dialog will be shown to ask you some detail, just like new a java class. The default class name is based on the id of the selected component.
The modified ZUL file and generated java file would be like:
<window id="win" >
<button id="btn"/>
<button id="att">
</button>
</window>
and
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Button;
import org.zkoss.zul.Window;
public class WinViewCtrl extends GenericForwardComposer {
private Window win;
private Button att;
private Button btn;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
// TODO Auto-generated method stub
}
public void onClick$att() {
//TODO: please check if you have use "self" or zscript functions here.
alert("bbb");
}
public void onClick$btn() {
//TODO: please check if you have use "self" or zscript functions here.
alert("aaa");
}
}