https://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&feed=atom&action=historySmall Talks/2007/September/New Features of ZK 3.0 RC - Revision history2024-03-28T09:14:55ZRevision history for this page on the wikiMediaWiki 1.35.1https://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14983&oldid=prevChar: /* TreeModel */2010-12-17T07:22:01Z<p><span dir="auto"><span class="autocomment">TreeModel</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:22, 17 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l192" >Line 192:</td>
<td colspan="2" class="diff-lineno">Line 192:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </window></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> </window></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></source></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></source></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>For more information, please refer to [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/ZK_Tree_Model ZK Tree Model].</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For more information, please refer to [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">August</ins>/ZK_Tree_Model <ins class="diffchange diffchange-inline">|</ins>ZK Tree Model<ins class="diffchange diffchange-inline">]</ins>].</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Timebox==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Timebox==</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14804&oldid=prevChar at 02:04, 14 December 20102010-12-14T02:04:35Z<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:04, 14 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l6" >Line 6:</td>
<td colspan="2" class="diff-lineno">Line 6:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The ZK team proudly presents you ZK 3.0 RC. It includes a lot of new features, more integrations with other components/frameworks, and the most important of all is the performance improvement - '''four ~ five times faster than ever!''' (See the [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/Five_Times_Faster_-_The_Performance_Test_On_ZK_3.0_RC report]).</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The ZK team proudly presents you ZK 3.0 RC. It includes a lot of new features, more integrations with other components/frameworks, and the most important of all is the performance improvement - '''four ~ five times faster than ever!''' (See the [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">September</ins>/Five_Times_Faster_-_The_Performance_Test_On_ZK_3.0_RC <ins class="diffchange diffchange-inline">| </ins>report<ins class="diffchange diffchange-inline">]</ins>]).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Don't hesitate! It's time to test drive!</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Don't hesitate! It's time to test drive!</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14495&oldid=prevChar: /* Ext-JS */2010-12-08T02:29:20Z<p><span dir="auto"><span class="autocomment">Ext-JS</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:29, 8 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l426" >Line 426:</td>
<td colspan="2" class="diff-lineno">Line 426:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Yui-Ext-- now called Ext JS, is a world famous client-side, JavaScript library for building web applications. However, using Yui-Ext JavaScript library with server side Java code is very complicated. But don't worry, ZK framework will as always do the complicated part for you. There are many useful and amazing widgets and functions, please refer to the following smalltalks,</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Yui-Ext-- now called Ext JS, is a world famous client-side, JavaScript library for building web applications. However, using Yui-Ext JavaScript library with server side Java code is very complicated. But don't worry, ZK framework will as always do the complicated part for you. There are many useful and amazing widgets and functions, please refer to the following smalltalks,</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org</del>/<del class="diffchange diffchange-inline">index.php?title=</del>Integrating_Yui-Ext_into_ZK_Framework. Integrating Yui-Ext into ZK Framework], [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org</del>/<del class="diffchange diffchange-inline">index.php?title=</del>New_Features_of_yuiextz_0.5.1. New Features of yuiextz 0.5.1.], [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/Y-Grid_Support_Drag-Drop_and_DataBinding Y-Grid Support Drag-Drop and DataBinding], [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org</del>/<del class="diffchange diffchange-inline">index.php?title=</del>Enrich_the_Layout_of_ZK_with_Ext_JS Enrich the Layout of ZK with Ext JS]</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">July</ins>/Integrating_Yui-Ext_into_ZK_Framework. <ins class="diffchange diffchange-inline">| </ins>Integrating Yui-Ext into ZK Framework<ins class="diffchange diffchange-inline">]</ins>], [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">July</ins>/New_Features_of_yuiextz_0.5.1. <ins class="diffchange diffchange-inline">| </ins>New Features of yuiextz 0.5.1.<ins class="diffchange diffchange-inline">]</ins>], [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">July</ins>/Y-Grid_Support_Drag-Drop_and_DataBinding <ins class="diffchange diffchange-inline">| </ins>Y-Grid Support Drag-Drop and DataBinding<ins class="diffchange diffchange-inline">]</ins>], [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">August</ins>/Enrich_the_Layout_of_ZK_with_Ext_JS <ins class="diffchange diffchange-inline">| </ins>Enrich the Layout of ZK with Ext JS<ins class="diffchange diffchange-inline">]</ins>]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14494&oldid=prevChar: /* JSP */2010-12-08T02:26:55Z<p><span dir="auto"><span class="autocomment">JSP</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:26, 8 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l421" >Line 421:</td>
<td colspan="2" class="diff-lineno">Line 421:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==JSP==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==JSP==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>This is great news for developers and companies who want to bring rich interface to their legacy JSP applications with ZK. Here, ZK introduces you a JSP tag library of ZK which allows you to integrate ZK components into your JSP pages using JSP tags. For more information. please take a look at the following smalltalks,[<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/Use_ZK_JSP_Tags_in_Your_JSP_Pages Use ZK JSP Tags in Your JSP Pages], [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/ZK_JSP_Tag_Lib_Support_Initiator_and_Annotation ZK JSP Tag Lib Support Initiator and Annotation]</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This is great news for developers and companies who want to bring rich interface to their legacy JSP applications with ZK. Here, ZK introduces you a JSP tag library of ZK which allows you to integrate ZK components into your JSP pages using JSP tags. For more information. please take a look at the following smalltalks,[<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">August</ins>/Use_ZK_JSP_Tags_in_Your_JSP_Pages <ins class="diffchange diffchange-inline">| </ins>Use ZK JSP Tags in Your JSP Pages<ins class="diffchange diffchange-inline">]</ins>], [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">August</ins>/ZK_JSP_Tag_Lib_Support_Initiator_and_Annotation <ins class="diffchange diffchange-inline">| </ins>ZK JSP Tag Lib Support Initiator and Annotation<ins class="diffchange diffchange-inline">]</ins>]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Ext-JS==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Ext-JS==</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14493&oldid=prevChar: /* JSF */2010-12-08T02:25:22Z<p><span dir="auto"><span class="autocomment">JSF</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:25, 8 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l417" >Line 417:</td>
<td colspan="2" class="diff-lineno">Line 417:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==JSF==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==JSF==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>JSF (JavaServer Faces) is a technology used for building user interfaces for JavaServer applications. Now, ZK provides a set of JSF components which wrap ZK components, and implement the features of JSF like ValueBinding, Converter, Validator, etc. For more information, please refer to this smalltalk, [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/Enrich_Your_JSF_Applications_with_ZK_Today! Enrich Your JSF Applications with ZK Today]<del class="diffchange diffchange-inline">!</del></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>JSF (JavaServer Faces) is a technology used for building user interfaces for JavaServer applications. Now, ZK provides a set of JSF components which wrap ZK components, and implement the features of JSF like ValueBinding, Converter, Validator, etc. For more information, please refer to this smalltalk, [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">August</ins>/Enrich_Your_JSF_Applications_with_ZK_Today! <ins class="diffchange diffchange-inline">| </ins>Enrich Your JSF Applications with ZK Today<ins class="diffchange diffchange-inline">!]</ins>]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==JSP==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==JSP==</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14492&oldid=prevChar: /* Flash Components */2010-12-08T02:22:48Z<p><span dir="auto"><span class="autocomment">Flash Components</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:22, 8 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l201" >Line 201:</td>
<td colspan="2" class="diff-lineno">Line 201:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Flash Components==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Flash Components==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Now, ZK supports versatile flash components which allow you to play media files, including .swf, youtube clip, and mp3 files. For more information, please refer to [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/New_ZK_Flash_Based_Components New ZK Flash Based Components].</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Now, ZK supports versatile flash components which allow you to play media files, including .swf, youtube clip, and mp3 files. For more information, please refer to [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">July</ins>/New_ZK_Flash_Based_Components <ins class="diffchange diffchange-inline">| </ins>New ZK Flash Based Components<ins class="diffchange diffchange-inline">]</ins>].</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Comboitem - HTML Description==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Comboitem - HTML Description==</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14491&oldid=prevChar: /* Timebox */2010-12-08T02:20:50Z<p><span dir="auto"><span class="autocomment">Timebox</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:20, 8 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l197" >Line 197:</td>
<td colspan="2" class="diff-lineno">Line 197:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Timebox==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Timebox==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In addition to Datebox, ZK now supports Timebox which allows user to choose time by hour and minutes, for more information, please refer to [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/Using_Timebox_Component Using Timebox Component].</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In addition to Datebox, ZK now supports Timebox which allows user to choose time by hour and minutes, for more information, please refer to [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">July</ins>/Using_Timebox_Component <ins class="diffchange diffchange-inline">| </ins>Using Timebox Component<ins class="diffchange diffchange-inline">]</ins>].</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Flash Components==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Flash Components==</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=14490&oldid=prevChar: /* Server Push */2010-12-08T02:18:57Z<p><span dir="auto"><span class="autocomment">Server Push</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:18, 8 December 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l81" >Line 81:</td>
<td colspan="2" class="diff-lineno">Line 81:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></source> </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></source> </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In this example, the content of label will be updated by the Thread constantly until it is stopped. For more information, please refer to this small talk: [<del class="diffchange diffchange-inline">http:</del>//<del class="diffchange diffchange-inline">docs.zkoss.org/wiki</del>/Simple_and_Intuitive_Server_Push_with_a_Chat_Room_Example Simple and Intuitive Server Push with a Chat Room Example]</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In this example, the content of label will be updated by the Thread constantly until it is stopped. For more information, please refer to this small talk: [<ins class="diffchange diffchange-inline">[Small_Talks</ins>/<ins class="diffchange diffchange-inline">2007</ins>/<ins class="diffchange diffchange-inline">August</ins>/Simple_and_Intuitive_Server_Push_with_a_Chat_Room_Example <ins class="diffchange diffchange-inline">| </ins>Simple and Intuitive Server Push with a Chat Room Example]<ins class="diffchange diffchange-inline">]</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Foward Property==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Foward Property==</div></td></tr>
</table>Charhttps://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=7543&oldid=prevElton776: moved Small Talks/New Features of ZK 3.0 RC to Small Talks/2007/September/New Features of ZK 3.0 RC2010-09-20T08:57:17Z<p>moved <a href="/wiki/Small_Talks/New_Features_of_ZK_3.0_RC" class="mw-redirect" title="Small Talks/New Features of ZK 3.0 RC">Small Talks/New Features of ZK 3.0 RC</a> to <a href="/wiki/Small_Talks/2007/September/New_Features_of_ZK_3.0_RC" title="Small Talks/2007/September/New Features of ZK 3.0 RC">Small Talks/2007/September/New Features of ZK 3.0 RC</a></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:57, 20 September 2010</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Elton776https://www.zkoss.org/_w/index.php?title=Small_Talks/2007/September/New_Features_of_ZK_3.0_RC&diff=5792&oldid=prevElton776: Created page with '{{Template:Smalltalk_Author| |author=Robbie Cheng, Engineer, Potix Corporation |date=September 14, 2007 |version= }} The ZK team proudly presents you ZK 3.0 RC. It includes a l…'2010-09-13T00:59:54Z<p>Created page with '{{Template:Smalltalk_Author| |author=Robbie Cheng, Engineer, Potix Corporation |date=September 14, 2007 |version= }} The ZK team proudly presents you ZK 3.0 RC. It includes a l…'</p>
<p><b>New page</b></p><div>{{Template:Smalltalk_Author|<br />
|author=Robbie Cheng, Engineer, Potix Corporation<br />
|date=September 14, 2007<br />
|version=<br />
}}<br />
<br />
<br />
The ZK team proudly presents you ZK 3.0 RC. It includes a lot of new features, more integrations with other components/frameworks, and the most important of all is the performance improvement - '''four ~ five times faster than ever!''' (See the [http://docs.zkoss.org/wiki/Five_Times_Faster_-_The_Performance_Test_On_ZK_3.0_RC report]).<br />
<br />
Don't hesitate! It's time to test drive!<br />
<br />
In the following paragraphs, I'll introduce the most exciting new additions to ZK 3.0 RC.<br />
<br />
<br />
=Ease of Use=<br />
<br />
For ease of use, ZK provides server push which allows you to update client’s information more easily. In addition, the new property - forward - which allows you to forward event to other components without much effort. Moreover, the new expression of annotation is more intuitive and easy-to-read. Let's check it out!<br />
<br />
==Server Push==<br />
<br />
This is so-called reverse-Ajax which allows the server to send content to the client actively. ZK now supports server push implemented using client-polling technique. To use server push, the only two things you have to do are enabling server push, and starting your working Thread, and the rest of work will be finished by ZK. Let’s take a look at a real example below. For example, if you want to update the number of the client constantly. First of all, you have to enable server push for the desktop and to invoke the thread as follows,<br />
<br />
<source lang="xml" ><br />
<window title="Demo of Server Push"><br />
<zscript><br />
import org.zkoss.zkdemo.test.WorkingThread;<br />
WorkingThread thread;<br />
<br />
void startServerpush(){<br />
desktop.enableServerPush(true);<br />
thread= new WorkingThread(info).start();<br />
}<br />
void stopServerpush(){<br />
thread.setDone();<br />
desktop. enableServerPush(false);<br />
}<br />
</zscript><br />
<vbox><br />
<button label="Start Push" onClick="startServerpush()"/><br />
<button label="Stop Push" onClick="stopServerpush"/><br />
<label id="info"/><br />
</vbox><br />
</window><br />
</source> <br />
<br />
<br />
Furthermore, to avoid the condition that a desktop might be accessed by multiple threads at the same which might cause the problem of synchronization. Thus, before accessing the desktop, you have to invoke Executions.activate(Desktop desktop) to get full control of the desktop, then release the control of the desktop by invoking Executions.deactivate(Desktop desktop) after the thread finishing its job as follows,<br />
<br />
<source lang="java" ><br />
public class WorkingThread extends Thread {<br />
private final Desktop _desktop;<br />
private final Label _info;<br />
private int _cnt;<br />
private boolean _ceased;<br />
public WorkingThread(Label info) {<br />
_desktop = info.getDesktop();<br />
_info = info;<br />
}<br />
public void run() {<br />
try {<br />
while (!_ceased) {<br />
Threads.sleep(2000); //Update each two seconds<br />
Executions.activate(_desktop);<br />
try {<br />
_info.setValue(Integer.toString(++_cnt));<br />
} catch (RuntimeException ex) {<br />
throw ex;<br />
} catch (Error ex) {<br />
throw ex;<br />
} finally {<br />
Executions.deactivate(_desktop);<br />
}<br />
}<br />
} catch (InterruptedException ex) {<br />
}<br />
}<br />
public void setDone(){<br />
_ceased = true;<br />
}<br />
} <br />
</source> <br />
<br />
In this example, the content of label will be updated by the Thread constantly until it is stopped. For more information, please refer to this small talk: [http://docs.zkoss.org/wiki/Simple_and_Intuitive_Server_Push_with_a_Chat_Room_Example Simple and Intuitive Server Push with a Chat Room Example]<br />
<br />
<br />
==Foward Property==<br />
<br />
In the past, we usually register an event listener using zscript and specify related actions within it. This is simple and intuitive but the drawback of it is lower performance because of using zscript requires additional execution time for the interpreter (e.g. BeanShell).<br />
<br />
Now, in ZK 3.0 RC, we provide a new property of components—forward—which allows you to forward events to other components to get rid of zscript. Please take a look at the following example. A window usually consists of several buttons, menu items and other controls. For example,<br />
<br />
<source lang="xml" ><br />
<window use="MyWindow"><br />
...<br />
<button label="OK"/><br />
<button label="Cancel"/><br />
</window><br />
</source> <br />
<br />
<br />
When the user clicks the button, the onClick event is sent to the button itself. However, these events are better to process in the window rather than scattering around these buttons. To do that, you can use the forward attribute as follows.<br />
<br />
<source lang="xml" ><br />
<window use="MyWindow"><br />
...<br />
<button label="OK" forward="onOK"/><br />
<button label="Cancel" forward="onCancel"/><br />
</window><br />
</source> <br />
<br />
<br />
where the forward attribute of the OK button specifies that the onClick event, if received, shall be forwarded to the space owner (i.e., the window) as the onOK event. Similarly, the onClick event targeting the Cancel button is forwarded as the onCancel event. Thus, you can handle the onOK and onCancel events in the space owner, MyWindow, as follows,<br />
<br />
<source lang="java" ><br />
public class MyWindow extends Window {<br />
public void onOK() {<br />
//called when the OK button is clicked (or the ENTER button is pressed)<br />
}<br />
public void onCancel() {<br />
//called when the Cancel button is clicked (or the ESC button is pressed)<br />
}<br />
}<br />
</source> <br />
<br />
<br />
==New Expression of Annotation==<br />
<br />
In ZK 3.0 RC, we provide one more intuitive way to annotate ZK components. Let’s take a look at the classic way first.<br />
<br />
<br />
===The Classic Way===<br />
<br />
The classic way of annotation appears before the declaration of the element that you want to annotate:<br />
<br />
<source lang="xml" ><br />
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?><br />
<window xmlns:a="http://www.zkoss.org/2005/zk/annotation"><br />
<a:bind model="persons" selectedItem="selected"/><br />
<listbox rows="4"><br />
<a:bind _var="person"/><br />
<listitem><br />
<a:bind label="person.firstName"/><br />
<listcell/><br />
<a:bind label="person.lastName"/><br />
<listcell/><br />
</listitem><br />
</listbox><br />
</window><br />
</source><br />
<br />
<br />
===The More Intuitive Way===<br />
<br />
The new way of annotation allows you to annotate components more intuitively. No separate declaration of annotations are required anymore, you could specify annotations as values within components’ declarations or their properties directly as follows,<br />
<br />
<source lang="xml" ><br />
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?><br />
<window><br />
<listbox rows="4" model="@{persons}" selectedItem="@{selected}"><br />
<listitem self="@{each=person}"><br />
<listcell label="@{person.firstName}"/><br />
<listcell label="@{person.lastName}"/><br />
</listitem><br />
</listbox><br />
</window><br />
</source><br />
<br />
'''Note:''' self is a keyword to denote the annotation is used to annotate the component declaration, rather than any property.<br />
<br />
<br />
=ZK Components Reloaded=<br />
<br />
In ZK 3.0rc, we implemented TreeModel, and more ZK componets, including timebox, flash components, and etc.<br />
<br />
==TreeModel==<br />
<br />
Tree model is long-awaited by the community, finally ZK supports tree model. Please take a look at the following example,<br />
<br />
<source lang="xml" ><br />
<window><br />
<zscript><br />
ArrayList al = new ArrayList();<br />
int i=0;<br />
for(; i < 100000; i++)<br />
{<br />
Object obj = ""+i;<br />
al.add(obj);<br />
}<br />
BinaryTreeModel btm = new BinaryTreeModel(al); <br />
</zscript><br />
<tree model="${btm}" id="tree" ><br />
</tree><br />
</window><br />
</source><br />
For more information, please refer to [http://docs.zkoss.org/wiki/ZK_Tree_Model ZK Tree Model].<br />
<br />
<br />
==Timebox==<br />
<br />
In addition to Datebox, ZK now supports Timebox which allows user to choose time by hour and minutes, for more information, please refer to [http://docs.zkoss.org/wiki/Using_Timebox_Component Using Timebox Component].<br />
<br />
<br />
==Flash Components==<br />
<br />
Now, ZK supports versatile flash components which allow you to play media files, including .swf, youtube clip, and mp3 files. For more information, please refer to [http://docs.zkoss.org/wiki/New_ZK_Flash_Based_Components New ZK Flash Based Components].<br />
<br />
<br />
==Comboitem - HTML Description==<br />
<br />
ZK allows you to enrich the description of a Comboitem with HTML as follows,<br />
<br />
<source lang="xml" ><br />
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" ?><br />
<br />
<combobox><br />
<comboitem label="Simple and Rich" <br />
description="The simplest way to make Web applications rich"/><br />
<comboitem label="Cool!"<br />
description="The coolest technology"><br />
<![CDATA[ <b>Bold</b> and <i>italic</i>]]><br />
</comboitem><br />
<comboitem label="Ajax and RIA"><br />
<![CDATA[<img src="/zkau/web/zul/img/slider/btn.gif"/>ZK, the best]]><br />
</comboitem><br />
</combobox><br />
</source><br />
<br />
<br />
or you could add HTML content by programming as follows,<br />
<br />
<source lang="java" ><br />
new Comboitem().setContent("<b>xx</b>....");<br />
</source><br />
<br />
<br />
==Tabbox - Lite Look==<br />
<br />
ZK provides a "lite" look of tabbox, and you could use it as follows,<br />
<br />
<source lang="xml" ><br />
<tabbox width="400px" sclass="lite"><br />
<tabs><br />
<tab label="Tab 1"/><br />
<tab label="Tab 2" closable="true"/><br />
<tab label="Tab 2"/><br />
</tabs><br />
<tabpanels><br />
<tabpanel>This is panel 1</tabpanel><br />
<tabpanel>This is panel 2</tabpanel><br />
<tabpanel>This is panel 3</tabpanel><br />
</tabpanels><br />
</tabbox><br />
</source> <br />
<br />
The layout is shown in the following figure.<br />
<br />
[[Image:Lite1.jpg]]<br />
<br />
<br />
=Enhancement of Data-Binding=<br />
<br />
Data binding supports validation phase which allows you to do validation in your own way.<br />
<br />
==An Alternative Way of Validation==<br />
<br />
Before 3.0 RC, while using data binding, we used to do validation of values by specify conditions in constraint attribute of ZK components. From now on, data binding provides an alternative way to do validation by posting onBindingSave event to each of binding components so that you could do validation with your customized way by registering onBindingSave event listener in these components as follows,<br />
<br />
<source lang="xml" ><br />
<intbox value="@{person.age}"><br />
<attribute name="onBindingSave"><br />
if (self.value < 18)<br />
throw new WrongValueException("Age below 18 is not allowed to enter this site.")<br />
</attribute><br />
</intbox><br />
</source> <br />
<br />
<br />
Then, after posting onBindingSave events to all of binding components to make sure their values are validated. Then, data binding will post an onBindingValidation event to the ZK component which triggers data binding to work, for example, a button.<br />
<br />
<source lang="xml" ><br />
<button label="submit"><br />
<custome-attributes passed="false"/><br />
<attribute name="onBindingValidation"><br />
self.setAttribute("passed",true);<br />
</attribute><br />
<attribute name="onClick"><br />
if (self.getAttribute("passed") == true)<br />
Executions.sendRedirect("index.zul");<br />
</attribute><br />
</button><br />
</source><br />
<br />
Finally, after posting all events of validation phase to all related ZK components, data binding will truly save data into data bean.<br />
<br />
<br />
=Namespace Extended=<br />
<br />
ZK supports native namespace for better performance, and it allows XML output. Please take a look at the following two paragraphs.<br />
<br />
==Native Namespace==<br />
<br />
In ZK 3.0 RC, we provide a new namespace—native namespace—for mixing ZK components with HTML tags in addition to XHTML namespace. The major difference between them is whether to create ZK components at the server side or not. If you used XHTML to mix HTML tags, ZK will generate corresponding ZK components at the server. On the contrast, ZK won’t generate ZK components at the server for better performance while using Native namespace.<br />
<br />
One thing to notice is that there is no difference between the out put of these two namespaces. If you mix HTML tags with ZK component using native namespace as follows,<br />
<br />
<source lang="xml" ><br />
<n:ul xmlns:n="http://www.zkoss.org/2005/zk/native"><br />
<n:li><br />
<textbox/><br />
</n:li><br />
<n:li><br />
<textbox/><br />
</n:li><br />
</n:ul><br />
</source><br />
<br />
<br />
in which will generates the following HTML tags to the browser:<br />
<br />
<source lang="xml" ><br />
<ul><br />
<li><br />
<input id="z_a3_2"/><br />
</li><br />
<li><br />
<input id="z_a3_5"/><br />
</li><br />
</ul><br />
</source><br />
However, if you want to change the content of these HTML tags dynamically, you should use XHTML namespace instead of Native namespace. The choice is yours.<br />
<br />
<br />
==XML Output==<br />
<br />
Nowadays, XML have become the standard format of many devices and protocols, such as RSS and SVG. It is straightforward to output XML with ZK. ZK generates them directly to the output without instantiating a ZK component for each of them.<br />
<br />
The following is an example that generates the SVG output. It looks very similar to the XML output you want to generate, except you can use zscript, EL expressions, macro components and other ZK features.<br />
<br />
<source lang="xml" ><br />
<?page contentType="image/svg+xml;charset=UTF-8"?><br />
<br />
<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"><br />
<z:zscript xmlns:z="http://www.zkoss.org/2005/zk"><![CDATA[<br />
String[] bgnds = {"purple", "blue", "yellow"};<br />
int[] rads = {30, 25, 20};<br />
]]></z:zscript><br />
<circle style="fill:${each}" forEach="${bgnds}"<br />
cx="${50+rads[forEachStatus.index]}"<br />
cy="${20+rads[forEachStatus.index]}"<br />
r="${rads[forEachStatus.index]}"/><br />
</svg><br />
</source><br />
<br />
For more information, please refer to '''XML Output''' in dev's guide.<br />
<br />
<br />
=Performance Tips=<br />
<br />
==Pluggable EL Evaluator.==<br />
<br />
In ZK 3.0 RC, by making the EL evaluator pluggable, ZK gives you an option to use JSP 2.1's EL, OGNL, MVEL and others. Currently, JSP 2.0, JSP 2.1 and [http://mvel.codehaus.org/ MVEL] plugin are available in ZK. In the following example, we demonstrate you how to use MVEL to evaluate EL.<br />
<br />
<source lang="xml" ><br />
<?evaluator name="mvel"?><br />
<window id="w" title="MVEL Demo"><br />
${new org.zkoss.zul.Textbox().setParent(w)}<br />
</window><br />
</source><br />
<br />
You can integrate with other EL evaluator by implementing the org.zkoss.xel.ExpressionFactory interface. For more information, please refer to '''"The evaluator Directive"''' in developer's reference.<br />
<br />
<br />
==A Faster Way to Render ZK Components==<br />
<br />
In addition to DSP, JSP and any Servlet technologies, you can implement the org.zkoss.zk.util.ComponentRenderer interface, and then specify it in the moldURI attribute by starting with "class:". With this approach, the performance is improved a lot, if we can specify a class and render the component directly without going through Servlet.<br />
<br />
<source lang="xml" ><br />
<?component name="window" extends="window" mold-name="default" <br />
mold-uri="class:com.mycompany.myWindowRender" ?><br />
<br />
<window title="Faster Window!" border="normal" width="200px"><br />
Hello, World!<br />
</window><br />
</source><br />
<br />
<br />
=Other Features=<br />
<br />
Other convenient features are illustrated in the following paragraphs.<br />
<br />
==A New Way to Avoid Session Timeout==<br />
<br />
In the past, a session is considered as timeout, if it doesn't receive any client request in the specified timeout interval. From now on, ZK allows you to keep a session alive by using a Timer which sends onTimer event to the server. Thus, you could specify whether to keep the session alive, when receiving the onTimer event as follows,<br />
<br />
<source lang="xml" ><br />
<session-config><br />
<timer-keep-alive>true</timer-keep-alive><br />
</session-config><br />
</source><br />
<br />
<br />
==A New Way to Use TLD of DSP==<br />
<br />
Usually, if we want to use TLD in ZUL page, we have to copy those TLD files to \WEB-INF directory, and include them as follows,<br />
<br />
<source lang="xml" ><br />
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?><br />
</source><br />
<br />
<br />
Now, ZK provides you an easier way by including those TLDs as follows without copying those TLD files as follows,<br />
<br />
<source lang="xml" ><br />
<? taglib uri="http://www.zkoss.org/dsp/zweb/core" pefix="c" ?><br />
</source><br />
<br />
<br />
=Integration with Other Frameworks=<br />
<br />
==JSF==<br />
<br />
JSF (JavaServer Faces) is a technology used for building user interfaces for JavaServer applications. Now, ZK provides a set of JSF components which wrap ZK components, and implement the features of JSF like ValueBinding, Converter, Validator, etc. For more information, please refer to this smalltalk, [http://docs.zkoss.org/wiki/Enrich_Your_JSF_Applications_with_ZK_Today! Enrich Your JSF Applications with ZK Today]!<br />
<br />
==JSP==<br />
<br />
This is great news for developers and companies who want to bring rich interface to their legacy JSP applications with ZK. Here, ZK introduces you a JSP tag library of ZK which allows you to integrate ZK components into your JSP pages using JSP tags. For more information. please take a look at the following smalltalks,[http://docs.zkoss.org/wiki/Use_ZK_JSP_Tags_in_Your_JSP_Pages Use ZK JSP Tags in Your JSP Pages], [http://docs.zkoss.org/wiki/ZK_JSP_Tag_Lib_Support_Initiator_and_Annotation ZK JSP Tag Lib Support Initiator and Annotation]<br />
<br />
==Ext-JS==<br />
<br />
Yui-Ext-- now called Ext JS, is a world famous client-side, JavaScript library for building web applications. However, using Yui-Ext JavaScript library with server side Java code is very complicated. But don't worry, ZK framework will as always do the complicated part for you. There are many useful and amazing widgets and functions, please refer to the following smalltalks,<br />
[http://docs.zkoss.org/index.php?title=Integrating_Yui-Ext_into_ZK_Framework. Integrating Yui-Ext into ZK Framework], [http://docs.zkoss.org/index.php?title=New_Features_of_yuiextz_0.5.1. New Features of yuiextz 0.5.1.], [http://docs.zkoss.org/wiki/Y-Grid_Support_Drag-Drop_and_DataBinding Y-Grid Support Drag-Drop and DataBinding], [http://docs.zkoss.org/index.php?title=Enrich_the_Layout_of_ZK_with_Ext_JS Enrich the Layout of ZK with Ext JS]<br />
<br />
<br />
<comment>http://docs.zkoss.org/wiki/New_Features_of_ZK_3.0_RC</comment><br />
<br />
<br />
[[Category:ZK]]<br />
[[Category:JSP]]<br />
[[Category:JSF]]<br />
{{Template:Smalltalk_Footer|<br />
|name=Potix Corporation<br />
}}</div>Elton776