С±àdz̸Struts2µÄAjaxÖ§³Ö
Struts2ÊÇjavaÔÚweb¿ª·¢Öг£ÓõĿò¼ÜÖ®Ò»£¬½ñÌìС±àÕûÀíÁËÒ»ÏÂ×ÊÁÏ£¬Ì¸Ì¸Struts2µÄAjaxÖ§³Ö¡£Struts2µÄAjaxÖ§³ÖÊǽ¨Á¢ÔÚDojoºÍDWR»ù´¡Ö®Éϵģ¬ÕâÁ½¸ö¿ò¼Ü¶¼ÌṩÁ˷dz£³ÉÊìµÄAjaxÖ§³Ö£¬°üÀ¨·Ç³£ÓÅÐãµÄÒ³Ãæ¿Ø¼þºÍ¼òµ¥µÄDOM²Ù×÷¡£ÆäÖÐDojoÌṩÁ˷ḻµÄ×é¼þ¿âºÍÒ³ÃæЧ¹û£¬¶øÇÒÌṩÁË´óÁ¿µÄº¯ÊýÀ´¼ò»¯Ajax¹ý³Ì¡£DWR(Direct Web Remoting)ÔòÊÇJavaÁìÓòÒ»¸öÖøÃûµÄ·þÎñÆ÷¶ËAjax¿ò¼Ü£¬½èÖúÓÚDWRµÄ°ïÖú£¬¿ª·¢Õß¿ÉÒÔÖ±½ÓÔÚ¿Í»§¶ËÒ³Ãæͨ¹ýJavaScriptµ÷ÓÃÔ¶³ÌJava·½·¨¡£¼òµ¥µÄ˵¾ÍÊÇDWR¸ºÔðʵÏÖÔÚJavaScriptÖе÷ÓÃÔ¶³ÌJava·½·¨£¬¶øDojoÔò¸ºÔðʵÏÖÒ³ÃæЧ¹ûµÄÏÔʾ¡£
Struts2µÄAjaxÖ§³Ö°üÀ¨²ÉÓÃAjax·½Ê½µÄÊäÈëУÑ飬Ajax·½Ê½µÄÊäÈëУÑé¿ÉÒÔÔÚÓû§ÊäÈëµÄͬʱÍê³ÉУÑ飬¶øÇÒÕâÖÖУÑéÎÞÐèÓû§½øÐÐÈκÎÌá½»¶¯×÷¡£Ö»ÒªÓû§ÊäÈëÍê³É£¬Èç¹ûÊäÈë²»Âú×ãÊäÈëÒªÇó£¬ÏµÍ³½«×Ô¶¯ÏÔʾУÑéÌáʾ¡£³ý´ËÖ®Í⣬Struts2µÄAjax»¹ÔÊÐíÒÔ¼òµ¥·½Ê½À´Òì²½Ìá½»±íµ¥ÇëÇ󣬲¢ÌṩÁËpub-subµÄʼþÄ£ÐÍ£¬²¢ÇÒÌṩÁËϵÁеÄAjax±êÇ©À´¼ò»¯Ajax¿ª·¢¡£
Ajax (Asynchronous Java/script And XML)£¬¼´Òì²½µÄJavaScriptºÍXML¼¼Êõ£¬Ajax¼¼ÊõµÄ¹Ø¼üÔÚÓÚÒì²½·¢ËÍÇëÇó¡£»¹Óж¯Ì¬¼ÓÔØ·þÎñÆ÷ÏìÓ¦µÄÊý¾Ý£¬Ê¹ÓÃAjax¼¼ÊõµÄÓ¦ÓÃÄܱÜÃâƵ·±Ë¢ÐÂÒ³Ã棬·þÎñÆ÷ÏìÓ¦µÄÊÇÊý¾Ý£¬¶ø²»ÊÇÕû¸öÒ³ÃæÄÚÈÝ¡£Ajax¼¼Êõ¸ºÔð»ñÈ¡·þÎñÆ÷Êý¾Ý£¬È»ºó½«·þÎñÆ÷Êý¾Ý¶¯Ì¬¼ÓÔص½ä¯ÀÀÆ÷ÖС£
Ajax¼¼ÊõµÄºËÐÄÊÇXMLHttpRequest¶ÔÏ󣬸öÔÏóÔÚIE5ÖÐÊ×´ÎÒýÈë¡£Õû¸öAjaxÓ¦ÓõŤ×÷¹ý³ÌÈçÏ£º
1£¬JavaScript½Å±¾Ê¹ÓÃXMLHttpRequest¶ÔÏóÏò·þÎñÆ÷·¢ËÍÇëÇ󡣿ÉÒÔ·¢ËÍGET£¬POSTÇëÇó¡£
2£¬JavaScript½Å±¾Ê¹ÓÃXMLHttpRequest¶ÔÏ󣬽âÎö·þÎñÆ÷ÏìÓ¦Êý¾Ý¡£
3£¬JavaScript½Å±¾Í¨¹ýDOM£¬¶¯Ì¬¸üÐÂHTMLÒ³Ã棬Ҳ¿ÉÒÔΪ·þÎñÆ÷ÏìÓ¦Êý¾ÝÔö¼ÓCSSÑùʽ±í£¬ÔÚµ±Ç°Ò³ÃæµÄij¸ö²¿·Ö¼ÓÒÔÏÔʾ¡£
DOM (Document Object Model)ÊDzÙ×÷HTMLºÍXMLÎļþµÄÒ»×éAPI£¬ËüÌṩÁËÎļþµÄ½á¹¹±íÊö¡£Í¨¹ýʹÓÃDOM£¬¿ÉÒÔ²ÉÓñà³Ì·½Ê½²Ù×÷Îĵµ½á¹¹£¬¿ÉÒԸıäÎĵµµÄÄÚÈÝ¡£Í¨¹ýʹÓÃDOM£¬»¹¿ÉÒÔÔö¼ÓÎļþµÄ½Úµã£¬ÊôÐÔ¼°Ê¼þ£¬´Ó¶øÌṩ¶ÔHTMLÒ³ÃæµÄ¶¯Ì¬¸üС£
³ý´ËÖ®Í⣬Ajax¼¼Êõ¿ÉÒÔʹÓÃXMLÎļþ£¬ÆÕͨÎı¾Îļþ£¬JSON(JavaScript Object Notaion)×÷ΪÊý¾Ý½»»»µÄ¸ñʽ¡£
Struts2µÄAjaxÖ§³ÖÊǽ¨Á¢ÔÚAjaxÖ÷Ìâ»ù´¡Éϵģ¬AjaxÖ÷ÌâÀ©Õ¹ÁËxhtmlÖ÷Ì⣬Ôö¼ÓÁËAjax¹¦ÄÜ¡£
Ïà¹ØÎĵµ£º
·þÎñÆ÷¶ËÏìÓ¦Îļþpostalcode.jsp
·þÎñÆ÷ÏìÓ¦Îļþ¸ù¾ÝÓû§ÊäÈëµÄÓÊÕþ±àÂ룬´ÓÊý¾Ý¿âÖвéѯ¶ÔÓ¦µÄµØÇøÐÅÏ¢¡£Èç¹ûûÓÐÈ¡µ½£¬Ôò·µ»Ø¿Õ×Ö·û´®¡£
<%@ page contentType="text/plain; charset=UTF-8"%>
<%@ page language="java"%>
<%@ page import="java.sql.*,ajax.db.DBUtils"%>
<%!
......
£¨×ªÌû£©
¡¡¡¡Ò»Ìáµ½ÈçºÎÔÚǰ̨JSµ÷Óúǫ́C#·½·¨£¬AJAX³ÉΪÁ˱ØÈ»µÄÏë·¨¡£
¡¡¡¡Ö»ÊÇʵÏÖµÄϸ½Ú²ÉÓÃAJAX 1.0»òÕßAjaxProµÄÇø±ð¡£
¡¡¡¡ÆäʵÈç¹û²»ÓÃAJAX£¬ÎÒÃÇÒ²Äܹ»ºÜ·½±ãµØÀûÓÃJSµ÷Óúǫ́·½·¨¡£
¡¡¡¡²½ÖèÈçÏ£º
¡¡¡¡1 ǰ̨·ÅÒ»¸ö°´Å¥¡£ÉèÖÃΪÒþ²Ø¡£×¢Ò⣺²»ÄÜÖ±½ÓÉèÖÃVisible=falseµÄ· ......
½ñÌìÎÒÖ÷ҪѧϰÁËUpdateModeÊôÐÔ¼°Ê¹ÓÃUpdateTriggers£¬°ÑÊéÖÐËù½ÌÊÚµÄÄÚÈÝÓöà¸öÀý×Óʵ¼ùÁËһϣ¬È·ÊµÃ÷°×ÁËÐí¶à¡£
UpdateMode
Ê×ÏÈÔÚÉÏһƪҲÌáµ½¹ýÕâÑùÒ»¸öÀíÂÛ£ºÔÚ̸ÂÛUpdatePanel¿Ø¼þµÄË¢ÐÂʱ£¬µ±UpdatePanel¿Ø¼þÖеÄ×ӿؼþ´¥·¢Async-Postback¶¯×÷ʱ£¬Ë¢ÐµÄÇøÓòÊ ......
¼òµ¥µÄÃèÊöÏ DWR ÅäÖ㨱£ÃÜÐÒ飬Ôڴ˲»¹«¿ªÏîÄ¿Ãû³Æ£¬ÏîÄ¿Ïà¹ØÃû³ÆÈ«²¿ÓÃXXXX´úÌ棩
Ê×ÏÈ ·Ï»°²»ËµÁË ´ó¼Ò¶¼Ó¦¸ÃÀí½âDWRµÄÓô¦ ²»¶®µÄÈ¥°Ù¶È
±ØÒª°ü DWR.JAR ¹Ù·½ÏÂÔصØÖ·http://directwebremoting.org/dwr/download.html
Õâ¸öÏîÄ¿ÊÇÓÉ SSH+dwr+jquery+sitemesh+freemarker
WEB.XML
<!-- dwr -->
<serv ......
×î½üÔÚ¸ºÔð×öÍøÕ¾µÄºǫ́¹ÜÀí²¿·Ö£¬¾õµÃjqueryµÄsortable×ö¶¯Ì¬¹¤¾ßÀ¸ºÜʵÓÃ,µ«ÍøÉϺܶ඼ֻ½éÉÜajaxºÍsortableÒ»Æð£¬Ã»ÓкÍdatabase½áºÏ×ÅÓã¬Î¨Ò»¿´µ½µÄ¾ÍÊÇÓÃcookie£¬Èç¹ûÓÐÅóÓÑϲ»¶ÓÃcookieµÄ£¬¿ÉÒÔÀ´ÕâÀï¿´¿´¡£ ÎÒ¸öÈ˲»Ï²»¶cookie£¬cookieÓÐʱ¼äµÄÏÞÖÆ£¬¶øÇҺöàÈËÏÖÔÚ¶¼½ûÖ¹cookieµÄʹÓÃÁË¡£¾Í×Ô¼º±àÁ˸öÂ룬ÓÃphp¡¢j ......