Dwr的一个基础施用实例,配置

Dwr的一个基础应用实例,配置

Dwr 基础应用

第一步:引用jar包(已上传,这些包中,其实就 dwr最为主要)

第二部:配置web.xml的dwr 的servlet映射

       <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

第三步:写自己的 java类

     例子:

            //传参数----字符串
 public String hellos(String name)
 {
  String cc=name.toUpperCase();
  return "你好吗"+cc;
 }
 //一个集合list
 public ArrayList retList()
 {
  ArrayList helloList = new ArrayList();
  helloList.add("XXXX");
  helloList.add("X");
  helloList.add("18");
  return helloList;
 }

 

第四步:配置dwr.xml

 

dwr.xml范例:

         解释备注:

                      dwrScript//这是前台调用的一个javascript 函数名字

                      dwr.test.serviceDwr//这是你写的java类的名字 一定要 写全位置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
 <create creator="new" javascript="dwrScript">
  <param name="class" value="dwr.test.serviceDwr"></param>
 </create>
</allow>
</dwr>

    

第五步:【先不要急着写前台的代码】测试自己写的 dwr

例子:     http://localhost:8080/你的工程名字/dwr

 

第六步:写前台调用代码

例子: 

   1,先倒入 dwr 的js

   <script type='text/javascript' src='/DwrFirst/dwr/interface/dwrScript.js'></script><!--这是自己工程的-->
   <script type='text/javascript' src='/DwrFirst/dwr/engine.js'></script><!--这是dwr公共的-->
   <script type='text/javascript' src='/DwrFirst/dwr/util.js'></script>   <!--这是dwr公共的-->

返回一个字符串的例子

//----------------------------------------------------------------------

<script type="text/javascript">
   
    function hellobutton()
    {
     var name=document.getElementById("hello").value;
     dwrScript.hellos(name,callhello);//回调函数(callhello是一个回调的值)
    }
    var callhello=function(data)
    {
     //data    这是一个从服务器也就是 从类中方法中传出来的值
     alert("回调函数的值:"+data);
    }
   
    </script>


  </head>
 
  <body>
    <input name="hello" id="hello" value="hello" onclick="hellobutton()">
  </body>

//-------------------------------------------------------------

//这是返回一个list 的 例子

<script type="text/javascript">
 function getdwrListi()
 {
  dwrScript.retList(getjavascriptlist);//dwrScript 是 在dwr.xml中  配置的一个对象。retList这是你写的java类的一个方法
 }
 
 var getjavascriptlist=function(data)
 {
  for(i=0;i<data.length;i++)
  {
   alert("看看java类的集合的值:"+data[i])
  }
 }
 </script>
  </head>
 
  <body>
    <input type="button" id="btnlist" name="btnlist" value="得到javalist的值" onclick="getdwrListi()">
  </body>

//----------------------------------------------------------------------