Äúµ±Ç°µÄλÖ㺸ֲĠ> Ð͸֠> Êг¡·ÖÎö

´î½¨¿ª·¢»·¾³²½Ö裬ÈçºÎ´î½¨zookeeper¼¯Èº

À´Ô´:Í·Ìõ ×÷Õß: chanong
·ÖÏíµ½
¹Ø×¢µÂÇÚ¸ÖÌúÍøÔÚÏߣº
  • ɨÃè¶þάÂë

    ¹Ø×¢¡Ì

    µÂÇÚ¸ÖÌúÍøÎ¢ÐÅ

ÔÚÏß×Éѯ£º
  • ɨÃè»òµã»÷¹Ø×¢µÂÇÚ¸ÖÌúÍøÔÚÏ߿ͷþ

1 zk¼ò½é

ZK¿ò¼ÜÊÇÒ»¸öÓÃJAVAʵÏֵļòµ¥µ«¹¦ÄÜÇ¿´óµÄ±íʾ²ã¿ò¼Ü¡£ËüÅ䱸ÁË»ùÓÚAjaxµÄʼþÇý¶¯ÒýÇæ£¬ÕâÊÇËü×î´óµÄÌØµã¡£ÕâÎÞÐèJavaScript ¼´¿ÉÍê³É£¬½çÃæ´´½¨ºÍʼþÏìÓ¦Ö»ÄÜͨ¹ý±ê¼ÇÓïÑÔZUML£¨ZK Óû§½çÃæ±ê¼ÇÓïÑÔ£©À´ÊµÏÖ¡£

ZKʵÏÖÍêÈ«ÓÃJavaʵÏÖ£¬¿ª·¢¹ý³ÌÖÐûÓÐʹÓÃJavaScript´úÂ룬¶øÊÇͨ¹ýZKÒýÇæÍ¨¹ý±àÒëzulÎļþ£¨ÀàËÆÓÚJSPÎļþµÄZKÔ´Îļþ£©À´±àÒëÒ³ÃæÔ´Â룬ÈÔÈ»¿ÉÒÔ¿´µ½Í¨¹ýÏÔʾ½á¹û¡£ ZKʵÏֵı¾ÖÊÊÇͨ¹ýJavaScript+CSSÀ´´¦ÀíÒì²½ÇëÇó¡£

×é¼þÊÇZKÖÐ×î³£¼ûµÄÔªËØ¡£ÕâÀàËÆÓÚ»ùÓÚ×é¼þµÄ±à³Ì£¬ÀýÈçJAVA Swing »òVB¡£ÓëZK Studio½áºÏ£¬¿ÉÒÔʵÏÖÒ³ÃæÐ§¹ûµÄ¿ÉÊÓ»¯¡¢¶¯Ì¬Õ¹Ê¾¡£

ÌØÕ÷£º

1.±íʾ²ã¹¤¾ß¡£Äã¿ÉÒÔ½«ËüÓëHibernate¡¢SpringµÈ½áºÏÆðÀ´¹¹½¨ÍêÕûµÄWEBÓ¦ÓóÌÐò¡£

2.ÒÔ·þÎñÆ÷ΪÖÐÐĵĿò¼Ü¡£·â×°ÁËAjaxºǫ́´¦Àí¼¼Êõ¡£·þÎñÆ÷ÓÉÁ½¸öÖØÒª²¿·ÖʵÏÖ£ºZK¼ÓÔØÆ÷ºÍZKÒì²½¸üÐÂÒýÇæ¡£Ç°Õ߸ºÔð½âÎöURLÇëÇó²¢Éú³ÉHTMLÒ³Ãæ£¬ºóÕ߸ºÔð¼àÌýºÍ´¦Àí¿Í»§¶ËAjaxÇëÇ󣬸üÐÂZK×é¼þÊôÐÔ£¬²¢Ïò¿Í»§¶Ë·¢ËÍAjaxÏìÓ¦¡£

3.»ùÓÚ×é¼þµÄGUI¡£Ò³ÃæµÄ¿É¼û²¿·ÖÓÉ×é¼þ×é³É¡£ÓëHTML ±êÇ©ÀàËÆ£¬µ«±ÈHTML ±êÇ©¸üÁé»î¡£

ȱµã£º

1. ZKÓëJAVA½ôÃܼ¯³É¡£ËùÓÐZK×é¼þ¶¼ÊÇÓÃJAVAʵÏֵģ¬Òò´Ë¶Ô×é¼þµÄ¿ØÖƽöÏÞÓÚJAVAÓïÑÔ¡£Ëü²»ÄÜÍÑÀë¿ØÖÆ²ã¡£

2.ѧ**×ÊÁϺÍÎĵµÏà¶Ô½ÏÉÙ¡£×îÈ«ÃæµÄZKÓ¦ÓÃÆäʵ¾ÍÊǹٷ½µÄDEMO¡£¡¶ZK¿ò¼Ü¡ª¡ªAjax¿ª·¢Êµ¼ù¡·ÊéÖÐҲʹÓÃÁ˹ٷ½µÄÀý×Ó¡£Òò´Ë£¬ÓÐЩʼþºÍÊôÐÔÖ»ÄÜ×Ô¼ºÌ½Ë÷¡£

ZKµÄ²âÊԱȽÏÈõ¡£¸ÃÒ³ÃæÎÞ·¨Ê¹Óù¤¾ß½øÐвâÊÔ¡£Ö»ÄÜÊÖ¶¯²âÊÔ¡£µ÷ÊÔÒ²²»·½±ã¡£

2 °²×°²¿Êðzk¿ª·¢»·¾³

2.1 JDK1.6ÒÔÉ**æ±¾

2.2 Tomcat6ÒÔÉ**æ±¾

2.3 Eclipse3.4ÒÔÉ**æ±¾

2.4 zk²å¼þ£¨zkstudio_1.0.1_ganymede.zip£©

¹ÙÍø£ºhttp://www.zkoss.org

µÚÒ»ÖÖ·½·¨£ºÊ¹ÓÃEclipse Ïòµ¼°²×°²å¼þ¡£°ïÖú/Èí¼þ¸üÐÂ/ËÑË÷ºÍͨ¹ý

°²×°Ëü£¬ÔÚµ¯³öµÄ²Ëµ¥ÖÐÑ¡Ôñ¡°ËÑË÷Òª°²×°µÄй¦ÄÜ¡±£¬È»ºóÔÚÏÂÒ»¸ö²Ëµ¥Öе¥»÷¡°ÏÂÒ»²½¡±¡£

Ñ¡Ôñ¡°Ð½¨±¾µØÕ¾µã¡±»ò¡°Ð½¨´æµµÕ¾µã¡±£¬ÕÒµ½ÏÂÔØµÄ²å¼þËùÔÚĿ¼£¬È»ºóÑ¡ÔñÒª°²×°µÄ²å¼þ¡£

µÚ¶þÖÖ·½·¨£º²å¼þĿ¼ºÍ¹¦Äܲ¿¼þλÓÚEclipse Ö÷Ŀ¼£¨%ECLIPSE_HOME%£©ÖС£

Ŀ¼¡£µ±Äú½âѹËõ²å¼þʱ£¬Äúͨ³£»áÔÚ½âѹËõµÄÎļþ¼ÐÖп´µ½Ò»¸öpluginsÎļþ¼Ð¡£

ѹËõºó£¬Äú»¹½«¿´µ½features Îļþ¼Ð¡£Í¨³££¬Äú¿ÉÒÔ½«²å¼þÎļþ¼ÐµÄÄÚÈÝÖ±½Ó¸´ÖƵ½£º

%ECLIPSE_HOME%\pluginsĿ¼£¨Èç¹û½âѹºóµÄ²å¼þĿ¼ÖÐÓÐfeaturesÎļþ¼Ð£©

½«´ËÎļþ¼ÐµÄÄÚÈݸ´ÖƵ½%ECLIPSE_HOME%\features¡£ÖØÐÂÆô¶¯Eclipse ÔÊÐíÄú£º

ʹÓÃÄú¸Õ¸Õ°²×°µÄ²å¼þ¡£

3 ÎÒÃÇͨ¹ýÒ»¸ö¾ßÌåµÄСÀý×ÓÀ´Ïêϸ½âÊÍÒ»ÏÂZKµÄ¿ª·¢¹ý³Ì¡£

3.1. ´´½¨zkÏîÄ¿

3.2 ´´½¨¼òµ¥µÄzulÒ³Ãæ

3.3 ÐÞ¸ÄzkTest.zulÄÚÈÝ

3.4 Æô¶¯Tomcat·ÃÎʲ¢²é¿´½á¹û

4 zk×é¼þµÄ²¿ÊðºÍʹÓÃ

4.1 ×¢Ò⣺ËùÓÐzk×é¼þÃû³Æ¾ùÓÉСд×Öĸ×é³É

Òª¶ÁÈ¡Java ´úÂë»òEL ±í´ïʽÖеÄ×é¼þ£¬ÇëʹÓÃid ÊôÐÔÀ´±êʶ¸Ã×é¼þ¡£ÔÚÏÂÃæ

´ËʾÀýÉèÖñêÇ©µÄ±êʶ·û£¬ÒÔ±ãÔÚ°´Ï°´Å¥Ê±¿ÉÒÔ¶ÔÆä½øÐвÙ×÷¡£

ÖµµÃ¡£ÏÂÃæµÄÁ½¸öÀý×Ó½«°ïÖúÄúÀí½âÉí·ÝµÄ×÷Óá£

Ò³Ãæ±êÌâ=\'²âÊÔʹÓÃID\' contentType=\'text/html;charset=UTF-8\'

Äãϲ»¶ZKÂð£¿

Èç¹û°´¡°ÊÇ¡±°´Å¥£¬Äú½«¿´µ½ÒÔÏÂЧ¹û¡£

idÊôÐÔÔÚEL±í´ïʽÖеÄÓ¦ÓÃÈçÏ£º

Õâ¶Î´úÂëµÄʵÏÖÊǽ«Îı¾¿òµÄÖµ¸³¸øÒ»¸ö±êÇ©¡£ ¡°Ô´¡±´ú±íÎı¾¿ò¡£

²Ù×÷ÓëÎı¾¿òÏàͬ¡£

4.2 ʹÓÃforEachÊôÐÔ

forEach ÊôÐÔÓÃÓÚ¿ØÖÆ´´½¨µÄ×é¼þÊýÁ¿¡£Èç¹ûΪÕâ¸ö¶ÔÏóÖ¸¶¨Ò»¸ö¶ÔÏ󼯺ϣ¬ZK

ZK¼ÓÔØÆ÷Ϊÿ¸öÖ¸¶¨µÄ¼¯ºÏÏî´´½¨Ò»¸ö×é¼þ¡£ÔÚÏÂÃæµÄZUML Ò³ÃæÖУ¬

listitem ÔªËØ±»·ÖÅäÁËÈý´Î£¨·Ö±ðΪ¡°ÐÇÆÚÒ»¡±¡¢¡°ÐÇÆÚ¶þ¡±ºÍ¡°ÐÇÆÚÈý¡±£©£¬È»ºóÔÙ±»·ÖÅäÁËÈý´Î¡£

ÏîÄ¿Çåµ¥¡£

Ò³Ãæ±êÌâ=\'ÐÂÒ³Ãæ±êÌâ\' contentType=\'text/html;charset=UTF-

8\'

String Contacts[]=new String[]{ \'ÐÇÆÚÒ»\', \'ÐÇÆÚ¶þ\', \'ÐÇÆÚÈý\',

\'ÖÜËÄ\'£¬

\'ÐÇÆÚÎåÐÇÆÚÁùÐÇÆÚÌì\' };

¿ÉÍ϶¯=\'true\'/

µ±ÄãÔËÐдúÂëʱ£¬Äã»áµÃµ½ÒÔÏÂЧ¹û£º

¸ÅÀ¨£º

³ýÁËʹÓÃforeachÖ®Í⣬»¹¿ÉÒÔͨ¹ýforEachBeginºÍforEachEndÀ´¿ØÖƵü´ú¡£

4.3 ÈçºÎʹÓúÍÓ¦ÓÃ

* use ºÍapply Êǽ«Zul Ò³ÃæÓëJava Àà¹ØÁªÆðÀ´µÄ¼ü£¬ÔÊÐíÄúΪzk ʵÏÖMVC¡£

ʹÓãº

use ÊÇÒ»¸ö×é¼þÀ࣬¶ÔӦÿ¸ö×é¼þʵÌå¡£

ҪʹÓÃuse£¬ÏàÓ¦µÄÀà±ØÐëÀ©Õ¹Window¡£

ָʾ£º

ÊÊÓãº

apply ÊÇÒ»¸ö°ïÖúÆ÷À࣬¿ÉÒÔ°ïÖúÄúÍê³ÉÒ»×é²Ù×÷¡£Ö´ÐÐÐèҪʵÏÖÒ»¸ö×÷Çú¼Ò»òÀ©Õ¹GenericForwardComposer

ָʾ£º

¸ÅÀ¨£º

com.zhb.controlÖ¸Ïò¶ÔÓ¦µÄ°ü¡£ IndexÊǶÔÓ¦°üÖеÄJavaÀà¡£

µ±Ò»¸özulÒ³Ãæ±»¼ÓÔØ²¢Ê¹ÓûòÓ¦ÓÃʱ£¬»á¸ù¾Ý°üÃû¼ÓÔØ¸Ã°üϵÄJavaÀà¡£

4.4 ³¢ÊÔͨ¹ý²é¿´zul Ò³ÃæÀ´ÉêÇë¶ø²»ÏÈʹÓÃËü

pagetitle=\'ÐÂÒ³Ãæ±êÌâ\' contentType=\'text/html;charset=UTF-8\'

/p

pString[] data={\'»¶Ó­¹âÁÙ£¡\',\'ºÜ¸ßÐËÈÏʶÄ㣡\',\'´ó¼ÒºÃ£¡\'};/p

pfor(int i=0;idata.length;++i)/p

p{ ±êÇ©l=бêÇ©(Êý¾Ý[i]);/p

pl.maxlength=9;//×î´ó³¤¶È/p

pl.parent=a;//½«Label¿Ø¼þ°ó¶¨µ½vbox/p

p}/p

p

label.setValue(\'´ó¼ÒºÃ\');

¸ÅÀ¨£º

ËüÊÇJava ´úÂëºÍzul Ò³ÃæµÄ»ìºÏÌ壬Òò´Ë¶ÔÓÚά»¤»òÀ©Õ¹Ò³ÃæºÍ´úÂëûÓÐÓô¦¡£

4.5 ʹÓÃzulÒ³ÃæºÍJavaÀà

×æÂ³Ò³Ãæ£º

Ò³Ãæ±êÌâ=\'use_simple\' contentType=\'text/html;charset=UTF-8\'

JavaÀࣺ

°ücom.zhb.control;

µ¼Èëorg.zkoss.zul.Button¡£

µ¼Èëorg.zkoss.zul.Window¡£

publicclassUse_simpleÀ©Õ¹´°¿Ú{

/**

*ÈçºÎÔĶÁ

*/

¹«¹²ÎÞЧ³õʼ»¯£¨£©{

this.setTitle(\'use_simple !\');//¸ø´°¿ÚµÄtitleÊôÐÔ¸³Öµ

//¸ù¾ÝID»ñÈ¡zul×é¼þ¶ÔÏ󲢸øLabelÊôÐÔ¸³Öµ

°´Å¥ok_btn=(button)this.getFellow(\'ok\');

ok_btn.setLabel(\'È·¶¨\');

//¸ù¾ÝID»ñÈ¡zul×é¼þ¶ÔÏ󲢸øLabelÊôÐÔ¸³Öµ

°´Å¥cancel_btn=(button)this.getFellow(\'È¡Ïû\');

cancel_btn.setLabel(\'È¡Ïû\');

}

/**

*È·¶¨·½·¨

*/

¹«¹²ÎÞЧonOk£¨£©{

//¸ø´°¿ÚµÄtitleÊôÐÔ¸³Öµ

this.setTitle(\'ÄãºÃÊÀ½ç£¡\');

}

/**

*ÈçºÎÈ¡Ïû

*/

¹«¹²ÎÞЧonCancel(){

//¸ø´°¿ÚµÄtitleÊôÐÔ¸³Öµ

this.setTitle(\'ÄãºÃ£¡\');

}

}

4.6 ʹÓÃapplyµÄzulÒ³ÃæºÍJavaÀà

ʵÏÖComposer ½Ó¿Ú

Ò³£º

Ò³Ãæ±êÌâ=\'composer\' contentType=\'text/html;charset=UTF-8\'

JavaÀࣺ

°ücom.zhb.control;

µ¼Èëorg.zkoss.zk.ui.Component¡£

µ¼Èëorg.zkoss.zk.ui.event.Event¡£

µ¼Èëorg.zkoss.zk.ui.event.EventListener¡£

µ¼Èëorg.zkoss.zk.ui.util.Composer¡£

µ¼Èëorg.zkoss.zul.Label¡£

µ¼Èëorg.zkoss.zul.Window¡£

publicclass MyComposer ʵÏÖComposer{

˽È˱êÇ©show_label£»

@¸²¸Ç

publicvoid doAfterCompose(Component comp) Å׳öÒì³£{

//TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù

((Window)comp).setTitle(\'Ó¦ÓÃÊÇ×îºÃµÄ£¡\');

show_label=(Label)comp.getFellow(\'show_label\');//¸ù¾ÝID»ñÈ¡×é¼þ¶ÔÏó

show_label.setValue(\'´ó¼ÒºÃ£¡\');//¸³Öµ

//Ìí¼Óʼþ

comp.addEventListener(\'onShow_label\', new EventListener(){

@¸²¸Ç

publicvoid onEvent(event event) Å׳öÒì³£{

//TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù

show_label.setValue(\'ÎÒ²»ÄÜ£¡\');

}

});

}

¸ÅÀ¨£º

ʹÓÃextends Window ʱҲ»á³öÏÖͬÑùµÄÎÊÌâ¡£ÕâÊÇÒ»¸ö¸ü¼òµ¥µÄ·½·¨£º

À©Õ¹GenericForwardComposer Àà

×æÂ³Ò³Ãæ£º

Ò³Ãæ±êÌâ=\'apply_simple\' contentType=\'text/html;charset=UTF-8\'

JavaÀࣺ

°ücom.zhb.control;

µ¼Èëorg.zkoss.zk.ui.Component¡£

µ¼Èëorg.zkoss.zk.ui.util.GenericForwardComposer¡£

µ¼Èëorg.zkoss.zul.Button¡£

µ¼Èëorg.zkoss.zul.Label¡£

publicclassApply_simpleextends GenericForwardComposer {

//¶¨Òå×é¼þ

˽ÓбêÇ©first_label;//±êÇ©

×ÔÓÐÆ·ÅÆSecond_label£»

˽Óа´Å¥count_button;//°´Å¥

/**

*ÈçºÎÔĶÁ

*/

@¸²¸Ç

publicvoid doAfterCompose(Component comp) Å׳öÒì³£{

//TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù

super.doAfterCompose(comp);

first_label.setValue(\'NO.1\');

Second_label.setValue(\'NO.2\');

count_button.setLabel(\'°´Å¥\');

}

/**

* °´Å¥µã»÷ʼþ

*/

publicvoid onClick$count_button(ʼþʼþ){

first_label.setValue(\'NO.3\');

Second_label.setValue(\'NO.4\');

}

}

¸ÅÀ¨£º

µ±À©Õ¹GenericForwardComposerÀàʱ£¬doAferComposer½«×¢ÈëÉÏÃæ¶¨ÒåµÄ×é¼þ¡£Òò´Ë£¬ÎÒÊ¡ÂÔÁËgetFollow(String id) ·½·¨¡£ÖÁÓÚforward£¬Äú²»ÐèÒªÔÚÒ³ÃæÖÐʹÓÃforward£¬ÒòΪGenericForwardComposerÀà»á×Ô¶¯ÎªÄúÍê³Éת·¢¹¤×÷¡£°´Å¥Ê¼þÀïÃæµÄEventʼþ¿ÉÒÔÊ¡ÂÔ¡£

Õâ¾ÍÊÇÎÒÃÇʵ¼ÊʵÏÖzk MVC µÄ·½Ê½¡£Ò³ÃæºÍÂß¼­´úÂë·ÖÀë¡£ÕâÌá¸ßÁËzul ºÍJava ´úÂëµÄά»¤ºÍÀ©Õ¹¡£

Çë¶à¶à¹Ø×¢ÎÒµÄÍ·ÌõºÅ£¬Ð»Ð»¡£

ÔðÈα༭£ºµÂÇÚ¸ÖÌúÍø ±êÇ©£º

ÈÈÃÅËÑË÷

Ïà¹ØÎÄÕÂ

¹ã¸æ
µÂÇÚ¸ÖÌúÍø |Êг¡·ÖÎö

´î½¨¿ª·¢»·¾³²½Ö裬ÈçºÎ´î½¨zookeeper¼¯Èº

chanong

|

1 zk¼ò½é

ZK¿ò¼ÜÊÇÒ»¸öÓÃJAVAʵÏֵļòµ¥µ«¹¦ÄÜÇ¿´óµÄ±íʾ²ã¿ò¼Ü¡£ËüÅ䱸ÁË»ùÓÚAjaxµÄʼþÇý¶¯ÒýÇæ£¬ÕâÊÇËü×î´óµÄÌØµã¡£ÕâÎÞÐèJavaScript ¼´¿ÉÍê³É£¬½çÃæ´´½¨ºÍʼþÏìÓ¦Ö»ÄÜͨ¹ý±ê¼ÇÓïÑÔZUML£¨ZK Óû§½çÃæ±ê¼ÇÓïÑÔ£©À´ÊµÏÖ¡£

ZKʵÏÖÍêÈ«ÓÃJavaʵÏÖ£¬¿ª·¢¹ý³ÌÖÐûÓÐʹÓÃJavaScript´úÂ룬¶øÊÇͨ¹ýZKÒýÇæÍ¨¹ý±àÒëzulÎļþ£¨ÀàËÆÓÚJSPÎļþµÄZKÔ´Îļþ£©À´±àÒëÒ³ÃæÔ´Â룬ÈÔÈ»¿ÉÒÔ¿´µ½Í¨¹ýÏÔʾ½á¹û¡£ ZKʵÏֵı¾ÖÊÊÇͨ¹ýJavaScript+CSSÀ´´¦ÀíÒì²½ÇëÇó¡£

×é¼þÊÇZKÖÐ×î³£¼ûµÄÔªËØ¡£ÕâÀàËÆÓÚ»ùÓÚ×é¼þµÄ±à³Ì£¬ÀýÈçJAVA Swing »òVB¡£ÓëZK Studio½áºÏ£¬¿ÉÒÔʵÏÖÒ³ÃæÐ§¹ûµÄ¿ÉÊÓ»¯¡¢¶¯Ì¬Õ¹Ê¾¡£

ÌØÕ÷£º

1.±íʾ²ã¹¤¾ß¡£Äã¿ÉÒÔ½«ËüÓëHibernate¡¢SpringµÈ½áºÏÆðÀ´¹¹½¨ÍêÕûµÄWEBÓ¦ÓóÌÐò¡£

2.ÒÔ·þÎñÆ÷ΪÖÐÐĵĿò¼Ü¡£·â×°ÁËAjaxºǫ́´¦Àí¼¼Êõ¡£·þÎñÆ÷ÓÉÁ½¸öÖØÒª²¿·ÖʵÏÖ£ºZK¼ÓÔØÆ÷ºÍZKÒì²½¸üÐÂÒýÇæ¡£Ç°Õ߸ºÔð½âÎöURLÇëÇó²¢Éú³ÉHTMLÒ³Ãæ£¬ºóÕ߸ºÔð¼àÌýºÍ´¦Àí¿Í»§¶ËAjaxÇëÇ󣬸üÐÂZK×é¼þÊôÐÔ£¬²¢Ïò¿Í»§¶Ë·¢ËÍAjaxÏìÓ¦¡£

3.»ùÓÚ×é¼þµÄGUI¡£Ò³ÃæµÄ¿É¼û²¿·ÖÓÉ×é¼þ×é³É¡£ÓëHTML ±êÇ©ÀàËÆ£¬µ«±ÈHTML ±êÇ©¸üÁé»î¡£

ȱµã£º

1. ZKÓëJAVA½ôÃܼ¯³É¡£ËùÓÐZK×é¼þ¶¼ÊÇÓÃJAVAʵÏֵģ¬Òò´Ë¶Ô×é¼þµÄ¿ØÖƽöÏÞÓÚJAVAÓïÑÔ¡£Ëü²»ÄÜÍÑÀë¿ØÖÆ²ã¡£

2.ѧ**×ÊÁϺÍÎĵµÏà¶Ô½ÏÉÙ¡£×îÈ«ÃæµÄZKÓ¦ÓÃÆäʵ¾ÍÊǹٷ½µÄDEMO¡£¡¶ZK¿ò¼Ü¡ª¡ªAjax¿ª·¢Êµ¼ù¡·ÊéÖÐҲʹÓÃÁ˹ٷ½µÄÀý×Ó¡£Òò´Ë£¬ÓÐЩʼþºÍÊôÐÔÖ»ÄÜ×Ô¼ºÌ½Ë÷¡£

ZKµÄ²âÊԱȽÏÈõ¡£¸ÃÒ³ÃæÎÞ·¨Ê¹Óù¤¾ß½øÐвâÊÔ¡£Ö»ÄÜÊÖ¶¯²âÊÔ¡£µ÷ÊÔÒ²²»·½±ã¡£

2 °²×°²¿Êðzk¿ª·¢»·¾³

2.1 JDK1.6ÒÔÉ**æ±¾

2.2 Tomcat6ÒÔÉ**æ±¾

2.3 Eclipse3.4ÒÔÉ**æ±¾

2.4 zk²å¼þ£¨zkstudio_1.0.1_ganymede.zip£©

¹ÙÍø£ºhttp://www.zkoss.org

µÚÒ»ÖÖ·½·¨£ºÊ¹ÓÃEclipse Ïòµ¼°²×°²å¼þ¡£°ïÖú/Èí¼þ¸üÐÂ/ËÑË÷ºÍͨ¹ý

°²×°Ëü£¬ÔÚµ¯³öµÄ²Ëµ¥ÖÐÑ¡Ôñ¡°ËÑË÷Òª°²×°µÄй¦ÄÜ¡±£¬È»ºóÔÚÏÂÒ»¸ö²Ëµ¥Öе¥»÷¡°ÏÂÒ»²½¡±¡£

Ñ¡Ôñ¡°Ð½¨±¾µØÕ¾µã¡±»ò¡°Ð½¨´æµµÕ¾µã¡±£¬ÕÒµ½ÏÂÔØµÄ²å¼þËùÔÚĿ¼£¬È»ºóÑ¡ÔñÒª°²×°µÄ²å¼þ¡£

µÚ¶þÖÖ·½·¨£º²å¼þĿ¼ºÍ¹¦Äܲ¿¼þλÓÚEclipse Ö÷Ŀ¼£¨%ECLIPSE_HOME%£©ÖС£

Ŀ¼¡£µ±Äú½âѹËõ²å¼þʱ£¬Äúͨ³£»áÔÚ½âѹËõµÄÎļþ¼ÐÖп´µ½Ò»¸öpluginsÎļþ¼Ð¡£

ѹËõºó£¬Äú»¹½«¿´µ½features Îļþ¼Ð¡£Í¨³££¬Äú¿ÉÒÔ½«²å¼þÎļþ¼ÐµÄÄÚÈÝÖ±½Ó¸´ÖƵ½£º

%ECLIPSE_HOME%\pluginsĿ¼£¨Èç¹û½âѹºóµÄ²å¼þĿ¼ÖÐÓÐfeaturesÎļþ¼Ð£©

½«´ËÎļþ¼ÐµÄÄÚÈݸ´ÖƵ½%ECLIPSE_HOME%\features¡£ÖØÐÂÆô¶¯Eclipse ÔÊÐíÄú£º

ʹÓÃÄú¸Õ¸Õ°²×°µÄ²å¼þ¡£

3 ÎÒÃÇͨ¹ýÒ»¸ö¾ßÌåµÄСÀý×ÓÀ´Ïêϸ½âÊÍÒ»ÏÂZKµÄ¿ª·¢¹ý³Ì¡£

3.1. ´´½¨zkÏîÄ¿

3.2 ´´½¨¼òµ¥µÄzulÒ³Ãæ

3.3 ÐÞ¸ÄzkTest.zulÄÚÈÝ

3.4 Æô¶¯Tomcat·ÃÎʲ¢²é¿´½á¹û

4 zk×é¼þµÄ²¿ÊðºÍʹÓÃ

4.1 ×¢Ò⣺ËùÓÐzk×é¼þÃû³Æ¾ùÓÉСд×Öĸ×é³É

Òª¶ÁÈ¡Java ´úÂë»òEL ±í´ïʽÖеÄ×é¼þ£¬ÇëʹÓÃid ÊôÐÔÀ´±êʶ¸Ã×é¼þ¡£ÔÚÏÂÃæ

´ËʾÀýÉèÖñêÇ©µÄ±êʶ·û£¬ÒÔ±ãÔÚ°´Ï°´Å¥Ê±¿ÉÒÔ¶ÔÆä½øÐвÙ×÷¡£

ÖµµÃ¡£ÏÂÃæµÄÁ½¸öÀý×Ó½«°ïÖúÄúÀí½âÉí·ÝµÄ×÷Óá£

Ò³Ãæ±êÌâ=\'²âÊÔʹÓÃID\' contentType=\'text/html;charset=UTF-8\'

Äãϲ»¶ZKÂð£¿

Èç¹û°´¡°ÊÇ¡±°´Å¥£¬Äú½«¿´µ½ÒÔÏÂЧ¹û¡£

idÊôÐÔÔÚEL±í´ïʽÖеÄÓ¦ÓÃÈçÏ£º

Õâ¶Î´úÂëµÄʵÏÖÊǽ«Îı¾¿òµÄÖµ¸³¸øÒ»¸ö±êÇ©¡£ ¡°Ô´¡±´ú±íÎı¾¿ò¡£

²Ù×÷ÓëÎı¾¿òÏàͬ¡£

4.2 ʹÓÃforEachÊôÐÔ

forEach ÊôÐÔÓÃÓÚ¿ØÖÆ´´½¨µÄ×é¼þÊýÁ¿¡£Èç¹ûΪÕâ¸ö¶ÔÏóÖ¸¶¨Ò»¸ö¶ÔÏ󼯺ϣ¬ZK

ZK¼ÓÔØÆ÷Ϊÿ¸öÖ¸¶¨µÄ¼¯ºÏÏî´´½¨Ò»¸ö×é¼þ¡£ÔÚÏÂÃæµÄZUML Ò³ÃæÖУ¬

listitem ÔªËØ±»·ÖÅäÁËÈý´Î£¨·Ö±ðΪ¡°ÐÇÆÚÒ»¡±¡¢¡°ÐÇÆÚ¶þ¡±ºÍ¡°ÐÇÆÚÈý¡±£©£¬È»ºóÔÙ±»·ÖÅäÁËÈý´Î¡£

ÏîÄ¿Çåµ¥¡£

Ò³Ãæ±êÌâ=\'ÐÂÒ³Ãæ±êÌâ\' contentType=\'text/html;charset=UTF-

8\'

String Contacts[]=new String[]{ \'ÐÇÆÚÒ»\', \'ÐÇÆÚ¶þ\', \'ÐÇÆÚÈý\',

\'ÖÜËÄ\'£¬

\'ÐÇÆÚÎåÐÇÆÚÁùÐÇÆÚÌì\' };

¿ÉÍ϶¯=\'true\'/

µ±ÄãÔËÐдúÂëʱ£¬Äã»áµÃµ½ÒÔÏÂЧ¹û£º

¸ÅÀ¨£º

³ýÁËʹÓÃforeachÖ®Í⣬»¹¿ÉÒÔͨ¹ýforEachBeginºÍforEachEndÀ´¿ØÖƵü´ú¡£

4.3 ÈçºÎʹÓúÍÓ¦ÓÃ

* use ºÍapply Êǽ«Zul Ò³ÃæÓëJava Àà¹ØÁªÆðÀ´µÄ¼ü£¬ÔÊÐíÄúΪzk ʵÏÖMVC¡£

ʹÓãº

use ÊÇÒ»¸ö×é¼þÀ࣬¶ÔӦÿ¸ö×é¼þʵÌå¡£

ҪʹÓÃuse£¬ÏàÓ¦µÄÀà±ØÐëÀ©Õ¹Window¡£

ָʾ£º

ÊÊÓãº

apply ÊÇÒ»¸ö°ïÖúÆ÷À࣬¿ÉÒÔ°ïÖúÄúÍê³ÉÒ»×é²Ù×÷¡£Ö´ÐÐÐèҪʵÏÖÒ»¸ö×÷Çú¼Ò»òÀ©Õ¹GenericForwardComposer

ָʾ£º

¸ÅÀ¨£º

com.zhb.controlÖ¸Ïò¶ÔÓ¦µÄ°ü¡£ IndexÊǶÔÓ¦°üÖеÄJavaÀà¡£

µ±Ò»¸özulÒ³Ãæ±»¼ÓÔØ²¢Ê¹ÓûòÓ¦ÓÃʱ£¬»á¸ù¾Ý°üÃû¼ÓÔØ¸Ã°üϵÄJavaÀà¡£

4.4 ³¢ÊÔͨ¹ý²é¿´zul Ò³ÃæÀ´ÉêÇë¶ø²»ÏÈʹÓÃËü

pagetitle=\'ÐÂÒ³Ãæ±êÌâ\' contentType=\'text/html;charset=UTF-8\'

/p

pString[] data={\'»¶Ó­¹âÁÙ£¡\',\'ºÜ¸ßÐËÈÏʶÄ㣡\',\'´ó¼ÒºÃ£¡\'};/p

pfor(int i=0;idata.length;++i)/p

p{ ±êÇ©l=бêÇ©(Êý¾Ý[i]);/p

pl.maxlength=9;//×î´ó³¤¶È/p

pl.parent=a;//½«Label¿Ø¼þ°ó¶¨µ½vbox/p

p}/p

p

label.setValue(\'´ó¼ÒºÃ\');

¸ÅÀ¨£º

ËüÊÇJava ´úÂëºÍzul Ò³ÃæµÄ»ìºÏÌ壬Òò´Ë¶ÔÓÚά»¤»òÀ©Õ¹Ò³ÃæºÍ´úÂëûÓÐÓô¦¡£

4.5 ʹÓÃzulÒ³ÃæºÍJavaÀà

×æÂ³Ò³Ãæ£º

Ò³Ãæ±êÌâ=\'use_simple\' contentType=\'text/html;charset=UTF-8\'

JavaÀࣺ

°ücom.zhb.control;

µ¼Èëorg.zkoss.zul.Button¡£

µ¼Èëorg.zkoss.zul.Window¡£

publicclassUse_simpleÀ©Õ¹´°¿Ú{

/**

*ÈçºÎÔĶÁ

*/

¹«¹²ÎÞЧ³õʼ»¯£¨£©{

this.setTitle(\'use_simple !\');//¸ø´°¿ÚµÄtitleÊôÐÔ¸³Öµ

//¸ù¾ÝID»ñÈ¡zul×é¼þ¶ÔÏ󲢸øLabelÊôÐÔ¸³Öµ

°´Å¥ok_btn=(button)this.getFellow(\'ok\');

ok_btn.setLabel(\'È·¶¨\');

//¸ù¾ÝID»ñÈ¡zul×é¼þ¶ÔÏ󲢸øLabelÊôÐÔ¸³Öµ

°´Å¥cancel_btn=(button)this.getFellow(\'È¡Ïû\');

cancel_btn.setLabel(\'È¡Ïû\');

}

/**

*È·¶¨·½·¨

*/

¹«¹²ÎÞЧonOk£¨£©{

//¸ø´°¿ÚµÄtitleÊôÐÔ¸³Öµ

this.setTitle(\'ÄãºÃÊÀ½ç£¡\');

}

/**

*ÈçºÎÈ¡Ïû

*/

¹«¹²ÎÞЧonCancel(){

//¸ø´°¿ÚµÄtitleÊôÐÔ¸³Öµ

this.setTitle(\'ÄãºÃ£¡\');

}

}

4.6 ʹÓÃapplyµÄzulÒ³ÃæºÍJavaÀà

ʵÏÖComposer ½Ó¿Ú

Ò³£º

Ò³Ãæ±êÌâ=\'composer\' contentType=\'text/html;charset=UTF-8\'

JavaÀࣺ

°ücom.zhb.control;

µ¼Èëorg.zkoss.zk.ui.Component¡£

µ¼Èëorg.zkoss.zk.ui.event.Event¡£

µ¼Èëorg.zkoss.zk.ui.event.EventListener¡£

µ¼Èëorg.zkoss.zk.ui.util.Composer¡£

µ¼Èëorg.zkoss.zul.Label¡£

µ¼Èëorg.zkoss.zul.Window¡£

publicclass MyComposer ʵÏÖComposer{

˽È˱êÇ©show_label£»

@¸²¸Ç

publicvoid doAfterCompose(Component comp) Å׳öÒì³£{

//TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù

((Window)comp).setTitle(\'Ó¦ÓÃÊÇ×îºÃµÄ£¡\');

show_label=(Label)comp.getFellow(\'show_label\');//¸ù¾ÝID»ñÈ¡×é¼þ¶ÔÏó

show_label.setValue(\'´ó¼ÒºÃ£¡\');//¸³Öµ

//Ìí¼Óʼþ

comp.addEventListener(\'onShow_label\', new EventListener(){

@¸²¸Ç

publicvoid onEvent(event event) Å׳öÒì³£{

//TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù

show_label.setValue(\'ÎÒ²»ÄÜ£¡\');

}

});

}

¸ÅÀ¨£º

ʹÓÃextends Window ʱҲ»á³öÏÖͬÑùµÄÎÊÌâ¡£ÕâÊÇÒ»¸ö¸ü¼òµ¥µÄ·½·¨£º

À©Õ¹GenericForwardComposer Àà

×æÂ³Ò³Ãæ£º

Ò³Ãæ±êÌâ=\'apply_simple\' contentType=\'text/html;charset=UTF-8\'

JavaÀࣺ

°ücom.zhb.control;

µ¼Èëorg.zkoss.zk.ui.Component¡£

µ¼Èëorg.zkoss.zk.ui.util.GenericForwardComposer¡£

µ¼Èëorg.zkoss.zul.Button¡£

µ¼Èëorg.zkoss.zul.Label¡£

publicclassApply_simpleextends GenericForwardComposer {

//¶¨Òå×é¼þ

˽ÓбêÇ©first_label;//±êÇ©

×ÔÓÐÆ·ÅÆSecond_label£»

˽Óа´Å¥count_button;//°´Å¥

/**

*ÈçºÎÔĶÁ

*/

@¸²¸Ç

publicvoid doAfterCompose(Component comp) Å׳öÒì³£{

//TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù

super.doAfterCompose(comp);

first_label.setValue(\'NO.1\');

Second_label.setValue(\'NO.2\');

count_button.setLabel(\'°´Å¥\');

}

/**

* °´Å¥µã»÷ʼþ

*/

publicvoid onClick$count_button(ʼþʼþ){

first_label.setValue(\'NO.3\');

Second_label.setValue(\'NO.4\');

}

}

¸ÅÀ¨£º

µ±À©Õ¹GenericForwardComposerÀàʱ£¬doAferComposer½«×¢ÈëÉÏÃæ¶¨ÒåµÄ×é¼þ¡£Òò´Ë£¬ÎÒÊ¡ÂÔÁËgetFollow(String id) ·½·¨¡£ÖÁÓÚforward£¬Äú²»ÐèÒªÔÚÒ³ÃæÖÐʹÓÃforward£¬ÒòΪGenericForwardComposerÀà»á×Ô¶¯ÎªÄúÍê³Éת·¢¹¤×÷¡£°´Å¥Ê¼þÀïÃæµÄEventʼþ¿ÉÒÔÊ¡ÂÔ¡£

Õâ¾ÍÊÇÎÒÃÇʵ¼ÊʵÏÖzk MVC µÄ·½Ê½¡£Ò³ÃæºÍÂß¼­´úÂë·ÖÀë¡£ÕâÌá¸ßÁËzul ºÍJava ´úÂëµÄά»¤ºÍÀ©Õ¹¡£

Çë¶à¶à¹Ø×¢ÎÒµÄÍ·ÌõºÅ£¬Ð»Ð»¡£


Êг¡·ÖÎö