¾«Í¨ Grails: ʹÓà Ajax ʵÏÖ¶à¶Ô¶à¹ØÏµ
ÔÚ Web Ó¦ÓóÌÐòÖУ¬¶à¶Ô¶à£¨m:m£©¹ØÏµºÜÄÑ´¦Àí¡£ÔÚ ¾«Í¨ Grails ϵÁеÄÕâÒ»ÆÚÎÄÕÂÖУ¬Scott Davis ½«ÏòÄúչʾÈçºÎÔÚ Grails Öгɹ¦ÊµÏÖ m:m ¹ØÏµ¡£Á˽âÈçºÎͨ¹ý Grails ¶ÔÏó¹ØÏµÓ³É䣨Grails Object Relational Mapping£¬GORM£©API ºÍºó¶ËÊý¾Ý¿â´¦Àí¶à¶Ô¶à¹ØÏµ¡£Ñ§Ï°ÈçºÎʹÓà Ajax£¨Asynchronous JavaScript + XML£©Á÷Ïß»¯Óû§½çÃæ¡£
Èí¼þ¿ª·¢¾ÍÊÇʹÓôúÂëÀ´Ä£ÄâÏÖʵÊÀ½ç¡£ÀýÈ磬Êé¼®¶¼ÓÐ×÷Õߺͳö°æÉÌ¡£ÔÚ Grails Ó¦ÓóÌÐòÖУ¬ÒªÎªÃ¿¸öÔªËØ´´½¨Ò»¸öÓòÀà¡£GORM Ϊÿ¸öÀà´´½¨¶ÔÓ¦µÄÊý¾Ý¿â±í£¬´î½¨¹¦ÄÜ£¨scaffolding£©Ìṩ»ù±¾µÄ Create/Retrieve/Update/Delete (CRUD) Web ½çÃæ¡£
½ÓÏÂÀ´¶¨ÒåÕâЩÀàÖ®¼äµÄ¹ØÏµ¡£Ò»¸ö³ö°æÉÌͨ³£»á³ö°æ¶à²¿Í¼Ê飬Òò´Ë³ö°æÉ̺ÍËûµÄͼÊéÖ®¼äµÄ¹ØÏµ¾ÍÊÇÒ»¸ö¼òµ¥µÄÒ»¶Ô¶à£¨1:m£©¹ØÏµ£ºÒ»¸ö Publisher ³ö°æ¶à¸ö Book¡£Í¨¹ýÔÚ Publisher ÀàÖмÓÈë static hasMany = [books:Book]£¬´´½¨ 1:m ¹ØÏµ¡£ÔÚ Book ÀàÖзÅÈë static belongsTo = Publisher£¬¿ÉÒÔÏò¹ØÏµÌí¼ÓÁíÒ»¸ö·½Ãæ —— ¼¶Áª¸üкÍɾ³ý¡£Èç¹ûɾ³ýÒ»¸ö Publisher£¬ËùÓжÔÓ¦µÄ Book Ò²»á±»É¾³ý¡£
ºÜÈÝÒ×ÔڵײãÊý¾Ý¿âÖÐÄ£Äâ 1:m ¹ØÏµÐÍ¡£Ã¿¸ö±íÓÐÒ»¸öÓÃ×÷Ö÷¼üµÄ id ×ֶΡ£µ± GORM Ïò book ±íÌí¼ÓÒ»¸ö publisher_id ×Ö¶Îʱ£¬¾ÍÔÚÁ½¸ö±íÖ®¼ä½¨Á¢ÁËÒ»¸ö 1:m ¹ØÏµ¡£ÔÚǰ¶Ë£¬Grails Ò²Äܹ»ºÜºÃµØ´¦Àí 1:m ¹ØÏµ¡£´´½¨Ò»¸öРBook ʱ£¬×Ô¶¯Éú³ÉµÄ£¨´î½¨¶ø³É£©HTML ±íµ¥Ìṩһ¸öÏÂÀ×éºÏ¿ò£¬½«ÄúµÄÑ¡ÔñÏÞÖÆÔÚÏÖÓÐµÄ Publisher ÁбíÖС£×Ô±¾ÏµÁÐµÄ µÚһƪÎÄÕ ÒÔÀ´£¬ÎÒÃÇÒѾչʾÁËÐí¶à 1:m ¹ØÏµµÄʾÀý¡£
ÏÖÔÚÀ´¿´¿´Ò»¸öÉÔ΢¸´ÔÓһЩµÄ¹ØÏµ — ¶à¶Ô¶à£¨m:m£©¹ØÏµ¡£Óë Book ºÍ Publisher Ö®¼äµÄ¹ØÏµÏà±È£¬Ä£Äâ Book Óë Author Ö®¼äµÄ¹ØÏµÒª¸´Ôӵöࡣһ²¿Í¼Êé¿ÉÒÔÓжà¸ö×÷Õߣ¬Ò»¸ö×÷ÕßÒ²¿ÉÒÔ±àд¶à²¿Í¼Êé¡£ÕâÊÇÒ»¸öµäÐ굀 m:m ¹ØÏµ¡£ÔÚÕæÊµÊÀ½çÖУ¬m:m ¹ØÏµºÜ³£¼û¡£Ò»¸öÈË¿ÉÒÔÓжà¸ö֧ƱÕʺţ¬Ò»¸ö֧ƱÕʺÅÒ²¿ÉÒÔÓɶà¸öÈËÀ´¹ÜÀí¡£Ò»¸ö¹ËÎÊ¿ÉÒÔΪ¶à¸öÏîÄ¿¹¤×÷£¬Ò»¸öÏîĿҲ¿ÉÒÔÓжà¸ö¹ËÎÊ¡£±¾ÎĽ«ÏòÄúչʾÈçºÎʹÓà Grails ʵÏÖ m:m ¹ØÏµ£¬ÎÒÃÇÔÚ±¾ÏµÁÐÖпª·¢µÄ trip-planner Ó¦ÓóÌÐòÉϽøÐй¹½¨¡£ÔÚÌÖÂÛ trip-planner Ó¦ÓóÌÐò֮ǰ£¬ÎÒ»¹Ïë̸̸ͼÊéµÄÀý×Ó£¬ÒÔ°ïÖúÄúÀí½âÒ»¸öÒªµã¡£
µÚÈý¸öÀà
ÔÚÊý¾Ý¿âÖУ¬ÓÃÈý¸ö±í±íʾ m:m ¹ØÏµ£ºÇ°Á½¸ö±íÄúÒѾ֪µÀÁË£¨Book ºÍ Author£©£¬µÚÈý¸öÊÇÒ»¸öÁ¬½Ó±í£¨BookAuthor£©¡£GORM Ïò BookAuthor Á¬½Ó±íÌí¼Ó book_id ºÍ author_id£
Ïà¹ØÎĵµ£º
Èç¹ûAJAX¼ÓÔØµÄÊý¾ÝÊÇÒ»¸öHTMLƬ¶Î£¬¶øÇÒÕâ¸öHTMLƬ¶Î»¹°üº¬½Å±¾<script>¿é£¬ÄÇôÔÚÄã°ÑÕâÊý¾ÝxmlHttp.responseTextÓÃinnerHTML·½·¨²åÈëµ½µ±Ç°ÎĵµÒ»¸öÔªËØÖУ¬Äã»á·¢ÏÖAJAX¼ÓÔØ»ØÀ´µÄ½Å±¾¸ù±¾Ã»ÓÐÖ´ÐС£ÕâÊÇAJAX¿ª·¢Öкܳ£¼ûµÄÎÊÌ⣬Èç¹ûÄã²»ÊÇÒ»Ö±ÔÚÓÃJavaScript¿ò¼Ü×ö¿ª·¢£¬ÏàÐÅÄãÔç¾Í·¢ÏÖÕâ¸öÎÊÌâÁË¡£±¾ÎÄ·ÖÎöÁËÁ ......
jQueryÓÉÃÀ¹úÈËJohn Resig´´½¨£¬ÖÁ½ñÒÑÎüÒýÁËÀ´×ÔÊÀ½ç¸÷µØµÄÖÚ¶àjavascript¸ßÊÖ¼ÓÈëÆäteam£¬°üÀ¨À´×Ե¹úµÄJörn Zaefferer£¬ÂÞÂíÄáÑǵÄStefan PetreµÈµÈ¡£
¡¡¡¡jQueryÊǼÌprototypeÖ®ºóÓÖÒ»¸öÓÅÐãµÄJavascrīpt¿ò¼Ü¡£Æä×ÚÖ¼ÊÇ——WRITE LESS,DO MORE,д¸üÉٵĴúÂë,×ö¸ü¶àµÄÊÂÇé¡£
¡¡¡¡ËüÊÇÇáÁ¿¼¶µÄjs¿ ......
AjaxPro.2.dll µÄʹÓÃʵÀý(2008-09-20 11:13:25)±êÇ©£ºajax it ·ÖÀࣺajax
×¼±¸¹¤×÷£ºÏîÄ¿ÖÐÒªÒýÓÃAjaxPro.2.dll£¬Õâ¸ö²½Öè¾ÍÊ¡ÂÔÁË£¬¹þ¹þ
µÚÒ»²½£ºweb.config
<system.web>
<httpHandlers>
<add verb ......
<mce:script type="text/javascript"><!--
function login(){
var postURL = "http://localhost:8080/cas/simpleLogin";
var params = {
"loginUrl":$("#loginUrl").val(),
"service":$("#service").val(),
"login":$( ......
×ªÔØÓÚhttp://xzio.javaeye.com/blog/91713
×î³õ¿´µ½ajax¸Ð¾õºÃ¾ªÏ²°¡£¬²»ÓÃË¢ÐÂÈ«²¿Ò³Ã棬¾Í¿ÉÒÔ¸ü¸Ä¾Ö²¿Ò³ÃæÊý¾Ý¡£ÕæµÄºÜ·½·¨
µ«ÊÇÒÔΪ»áºÜÄÑ£¬µ«Êµ¼Ê×öÁ˲ÅÖªµÀ£¬AJAXºÜ¼òµ¥¡£ÖÁÉÙÈëÃźܼòµ¥ Èç¹ûÄã»áajaxÄǾͲ»Òª¿´ÁË¡£¸ü²»ÒªÂîÎÒ¡£±ÈÎÒÅ£µÄÈËÌ«¶àÁË
»¥ÏཻÁ÷£¬Ñ§Ï°¡£MSN:whw_dream(AT)hotmail.com
Ê×ÏÈÊÇjspÒ³ÃæºÍ ......