我的dwr用例小样

(1) jar包准备http://directwebremoting.org/dwr/下载dwr.jar

(2) 还要commons-logging-1.1.jar

(3) 配置web.xml

<servlet>
  <display-name>DWR Servlet</display-name>
  <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>
 
  <init-param>
   <param-name>activeReverseAjaxEnabled</param-name> ===>>后台调用前台,反转ajax
   <param-value>true</param-value>
  </init-param>
</servlet>

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

(4)配置dwr.xml

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
    "http://getahead.org/dwr/dwr30.dtd">
<dwr>
  <allow>
    <create creator="new" javascript="Test" scope="application">
      <param name="class" value="dwr.Test"/>
    </create>
  </allow>
</dwr>
(5)前台jsp端

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
   <script type='text/javascript' src='/DwrTest/dwr/engine.js'></script>
     <script type='text/javascript' src='/DwrTest/dwr/util.js'></script>
     <script type='text/javascript' src='/DwrTest/dwr/interface/Test.js'></script>
    
     <script type="text/javascript">
      
      dwr.engine.setActiveReverseAjax(true);
      
            
      function reverseTest(para)
      {
       window.alert(para);
      }
      
      function clickTest()
      {
       Test.getUserName(1, function(para){
          for (var a in para)
          {
           window.alert(para[a]);//说明 a Map是key值, para[a]是value
          }
       });
      }
     </script>
  </head>
 
  <body>
    This is my JSP page. <br>
   
 <input type="button" value="点击" οnclick="clickTest()">
  </body>
</html>

(6)后台java端

package dwr;

import java.util.HashMap;
import java.util.Map;

import org.directwebremoting.ScriptBuffer;
import org.directwebremoting.ScriptSession;
import org.directwebremoting.WebContextFactory;

public class Test {
 
 public Map<String, String> getUserName(int a)
 {
  Map<String, String> returnMap = new HashMap<String, String>();
  returnMap.put("name1", "wensummer");
  returnMap.put("name2", "chengqun");
  callJs();
  return returnMap;
 }
 
 public void callJs()
 {
  ScriptSession scriptSession = WebContextFactory.get().getScriptSession();
  //scriptSession.addScript(arg0);
  ScriptBuffer scriptBuffer = new ScriptBuffer();
  scriptBuffer.appendScript("reverseTest(").appendData("hello nihao").appendScript(");");
  scriptSession.addScript(scriptBuffer);

 }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值