• atitit.php中的dwr 设计模式


    atitit.php中的dwr 设计模式 

    1. dwr的优点相对于ajax来说。。 1

    2. DWR工作原理 1

    3. phpdwr实现 1

    4. 参考 3

    1. dwr的优点相对于ajax来说。。

    dwr是构建在ajax上的。。更加的dsl化。。

    大大简化了编写ajax的工作量。 

    2. DWR工作原理

    是通过动态把Java类生成为Javascript。它的代码就像Ajax一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这种从Java 到JavaScript的远程调用功能的方式使DWR用起来有种非常像RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。 

    Java从根本上讲是同步机制,然 AJAX却是异步的。所以你调用远程方法时,当数据已经从网络上返回的时候,你要提供有反调 (callback) 功能的DWR。 

     

    DWR在客户端放置了一个 engine.js作为客户端的引擎,在Server端放置了一个dwr.jar作为服务器端的引擎。 

    然后,可以以RPC的方式来描述

     

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

     

    3. phpdwr实现

    <script type="text/javascript" src="../com.attilax/dwr.js"></script>

    var mp={};

    // mp.id=85495; frm cookie   

    mp.method="get-score";

    dwrC.exec(mp,function(data){

    //if ex then to ex process hadler

    /* if(data)

    alert("不能编辑,已经审核通过");

    else

    window.location.href="elemt_edit.jsp?id="+str;*/

    $("#score").text(data+"");

    $("#score-detail").text( "您的育儿指数总算及格了,还要继续....");

     

    },"/lime");

    --------------dwr.js

    var dwrC={};

    dwrC.exec=function(param,callback,approot)

    {

    //jQuery.get("dwr.php?param="+param, [data], [callback])

    $.ajax(

                        {

                            type: "get",

                            url: approot+"/com.attilax/dwr.php",

                            data:param,

                            dataType: "text",

                            success: function(data) {

                              //  $("#divShow").html(data);

      callback(data);

                         }

     });

    }

    -------------dwr.php

     <?php 

     require_once(dirname(__FILE__).'/../iocx.php');

    //$dwrEventContainer['b'] = 'char b'; 

     $method=   $_GET['method']; 

     $fun=$dwrEventContainer[ $method];

     $rzt=$fun($method);

     echo $rzt;

     ?>

    ------------iocx.php

    $dwrEventContainer = array(); //定义一个数组

    $dwrEventContainer['get-score'] =getScoreX;

    4. 参考

    DWR 工作原理 - ITeye问答.htm

  • 相关阅读:
    数据可视化需要简化编程
    设计模式之工厂模式
    LinCode落单的数
    怎样安装解压版MySQL
    程序阅读:简单C++学生信息管理系统
    中缀式变后缀式
    jquery动态创建表格
    Android笔记——Activity中的回传数据案例(装备选择)
    A mail sent to Google chromium.org Groups for Help
    Eclipse导入MyEclipseproject(web项目显示为java项目解决的方法)
  • 原文地址:https://www.cnblogs.com/attilax/p/5963670.html
Copyright © 2020-2023  润新知