zoukankan      html  css  js  c++  java
  • DWR重温 DWE例子 如下


    第一步 导包 

    第二步配置 web.xml

     添加如下 

     <!-- 配置dwr -->


        <servlet>
            <servlet-name>dwr</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</servlet-name>
            <url-pattern>/dwr/*</url-pattern>
        </servlet-mapping>

     接下来配置dwr.xml

     <?xml version="1.0" encoding="UTF-8"?>


    <dwr xmlns="http://directwebremoting.org/schema/dwr20"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://directwebremoting.org/schema/dwr20 
        http://directwebremoting.org/schema/dwr20/dwr20.xsd "
    >
        <allow> 
            <convert converter="bean" match="com.bean.User"></convert>
            <create creator="new" javascript="TestDwrBizBeanImp" scope="application">
                    <param name="class" value= "com.biz.beanimp.TestDwrBizBeanImp" /> 
                    <include method="getUserlist"/> 
                    <include method="getUserlistParmByList"/> 
                    <include method="getUserlistReturnMap"/> 
                    <include method="getUserlistReturnMapParmByMap"/> 
            </create>  
        </allow>
        
    <signatures>
     <![CDATA[
      import java.util.List;
      import java.util.Map;
      import com.biz.beanimp.TestDwrBizBeanImp;  
      import com.bean.User;
      TestDwrBizBeanImp.getUserlistParmByList(List<User>); 
      TestDwrBizBeanImp.getUserlistReturnMapParmByMap(Map<String,User>);
     
    ]]>
    </signatures>
    </dwr>

    然后实现业务方法如下

     package com.biz.beanimp;


    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;

    import com.bean.User;
    import com.biz.TestDwrBiz;

    public class TestDwrBizBeanImp implements TestDwrBiz{

        public List<User> getUserlist()
        {
            List<User> list = new ArrayList<User>();
            User user = null;

            user = new User();
            user.setName("messi");
            user.setPwd("123");
            list.add(user);

            user = new User();
            user.setName("xiva");
            user.setPwd("456");
            list.add(user);

            return list;
        }

        public List<User> getUserlistParmByList(List<User> inlist)
        {
            List<User> list = new ArrayList<User>();
            User user = null;

            user = new User();
            user.setName("messi");
            user.setPwd("123");
            list.add(user);

            user = new User();
            user.setName("xiva");
            user.setPwd("456");
            list.add(user);

            if (null != inlist && inlist.size() >= 1)
            {
                list.add(inlist.get(0));
            }
            return list;
        }

        public Map<String, User> getUserlistReturnMap()
        {
            Map<String, User> map = new java.util.Hashtable<String, User>();
            User user = null;

            user = new User();
            user.setName("messi");
            user.setPwd("123");
            map.put("m", user);

            user = new User();
            user.setName("xiva");
            user.setPwd("456");
            map.put("x", user);

            return map;
        }

        public Map<String, User> getUserlistReturnMapParmByMap(Map<String, User> inMap)
        {
            Map<String, User> map = new java.util.Hashtable<String, User>();
            User user = null;

            user = new User();
            user.setName("messi");
            user.setPwd("123");
            map.put("m", user);

            user = new User();
            user.setName("xiva");
            user.setPwd("456");
            map.put("x", user);

            if (null != inMap && null != inMap.get("u"))
            {
                map.put("u", inMap.get("u"));
            }

            return map;
        }
    }

     接下来是调用页面

     ------jsp begin---

     <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
      <script type='text/javascript' src='/MyCrmCopy/dwr/interface/TestDwrBizBeanImp.js'></script>
      <script type='text/javascript' src='/MyCrmCopy/dwr/engine.js'></script>
     
      <script type='text/javascript' src='/MyCrmCopy/dwr/util.js'></script>
     
     <script type="text/javascript"> 
     
     
        var callBackgetUserlist= function(data)//data是后台返回的值,名字自取,也可省略,因为JS允许
        {    
         
           //如果callBack()没有写明返回值,可以通过argments[0]拿到
           for(var i=0;i<data.length;i++)   
           /*对于java方法的返回值为List(Set)的情况,DWR将其转化为Object数组,传递个javascript*/
          {
                    alert(data[i].name+":"+data[i].pwd);
          } 
            alert("遍历方法2");
           for(var property in data) //property为序号,从0开始
          {
                    var bean = data[property];
                    alert(bean.name+":"+bean.pwd);
          }
        }   
        function getUserlist()
        {  
            TestDwrBizBeanImp.getUserlist(callBackgetUserlist);//回调函数
        } 
        function getUserlistParmByList()
        {  
            var stu = [{id:0,name:"zhangsan",pwd:"zspassword"},{id:0,name:"zhangsan",pwd:"zspassword"}];
            TestDwrBizBeanImp.getUserlistParmByList(stu,callBackgetUserlistParmByList);//回调函数callBack()
        } 
        function callBackgetUserlistParmByList(data)//data是后台返回的值,名字自取,也可省略,因为JS允许
        {   
            callBackgetUserlist(data);
            //do something
        }
        
        
        function getUserlistReturnMap()
        {   
             TestDwrBizBeanImp.getUserlistReturnMap(callBackgetgetUserlistReturnMap);//回调函数callBack()
        } 
        function callBackgetgetUserlistReturnMap(data)//data是后台返回的值,名字自取,也可省略,因为JS允许
        {    
           callBackgetUserlist(data);
           //do something
        }
        
       
        function getUserlistReturnMapParmByMap()
        {  
             var stu = { "u":{name:"zhangsan",pwd:"1sa",id:1}}; 
             TestDwrBizBeanImp.getUserlistReturnMapParmByMap(stu,callBackgetgetUserlistReturnMapParmByMap);//回调函数callBack()
        } 
        function callBackgetgetUserlistReturnMapParmByMap(data)//data是后台返回的值,名字自取,也可省略,因为JS允许
        {   
           callBackgetUserlist(data);
           //do something
        } 
        
        
    </script>
      </head>
      
      <body> 
        
        getUserlist  <input type="button" id="Submit" value="test" onclick="getUserlist()"> 
        
        getUserlistParmByList  <input type="button" id="Submit" value="test" onclick="getUserlistParmByList()"> 
        
        getUserlistReturnMap  <input type="button" id="Submit" value="test" onclick="getUserlistReturnMap()">
           
        getUserlistReturnMapParmByMap  <input type="button" id="Submit" value="test" onclick="getUserlistReturnMapParmByMap()"> 
      
      </body>
    </html>

    -------jsp end ---- 

    这就算完了

  • 相关阅读:
    逗号操作符使用小技巧
    字符解码?
    画图 wx.Window pen
    进程和线程
    内存管理
    简单的文本编辑器
    迭代器 Iterator
    文件操作
    ebay api学习
    一,wxpython入门
  • 原文地址:https://www.cnblogs.com/heling/p/2622151.html
Copyright © 2011-2022 走看看