`
wxq594808632
  • 浏览: 262440 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dwr 简单例子

    博客分类:
  • dwr
阅读更多
无聊在电脑上乱点.点出一个DWR的例子.于是乎开始学习DWR

拿出自己的练习晒下;

在做练习的时候遇到一个问题。jbuilder的web-inf下不生成classes文件夹,也不生成.class文件

经过研究解决办法为:右键点击webmodule   选择properties,再选择Content,选择Include All classes and  resources  确定。OK,


看配置

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
  <display-name>WebModule1</display-name>
<!--插入dwr配置-->
  <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>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
</web-app>




dwr.xml



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
    <allow>
    <!-- javascript的对象是jsmethodname,create="new"是DWR自己创建类 -->
        <create javascript="jsmethodname" creator="new" scope="application">
            <!-- value是java中的类名 -->
            <param name="class" value="org.li.dwr.Hello"></param>
<!--<include>标签指定要公开给javascript的方法。不指定的话就公开所有方法。
  <exclude>标签指定要防止被访问的方法。-->
           <include method="alertStr"/>
           <include method="alertJSStr"/>
           <include method="returnAl"/>
           <include method="getList"/>
           <include method="getObj"/>
        </create>

  <!--转换java类型   -->
       <convert converter="bean" match="org.li.dwr.InputRecord">
      </convert>
    </allow>
</dwr>




jsp页面:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>DWR</title>
    <meta http-equiv="content-type" content="text/html; charset=GBK">
    <script type='text/javascript' src='dwr/interface/jsmethodname.js'></script>
    <script type='text/javascript' src='dwr/engine.js'></script>
    <script type='text/javascript' src='dwr/util.js'></script>
    <script type="text/javascript" src="hello.js"></script>
   <!--其中jsmethodname.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。
 -->
  </head>
  <body>
    <input id="jbutton" type="button" value="Hello World" onclick="jbClick()"/>
    <div id="jdiv"></div>
    <div id="jdiv2"></div>
   
    <div id="uid"></div>
    <div id="uname"></div>
    <div id="usex"></div>
    <div id="uaddress"></div>

  </body>
</html>



js :hello.js





 

/*
function load()//载入的时候调用
{
    var jbutton = document.getElementById("jbutton");
    jbutton.onclick=function(event)//注册按钮点击事件
    {
        jbClick();
    };
}
*/
function jbClick()//按钮点击事件
{
  //  jshello.getHelloWorld(callback);//没有参数传递,只传递回调函数就行
 //   jsmethodname.alertStr(callback1);//无参数
    var data="js传入java中的值";
  //  jsmethodname.alertJSStr(data,callback);//有参数。第一个为参数,第二个为回调方法接收返回值
  jsmethodname.getList(callbackList);  //无参数,返回list
  //jsmethodname.getObj(callbackObj);
}
function callback1(msg)//回调函数 ,调用java方法的javascript函数
{
     //msg就是java方法的返回值
     alert(msg);
}

function callback(msg)//回调函数
{
    //这里可以进行参数处理DWRUtil 的 setValue() 方法会将传回的 msg 设定给指定 id 的 DOM
    DWRUtil.setValue('jdiv',msg);
}
function callbackList(data){

for(var i=0;i<data.length;i++){
  DWRUtil.setValue("uid", data[i].id);
  DWRUtil.setValue("uname", data[i].name);
  DWRUtil.setValue("usex", data[i].sex);
  DWRUtil.setValue("uaddress", data[i].address);
}
}


function callbackObj(data){
 
 //知道属性
  DWRUtil.setValue("uid", data.id);
  DWRUtil.setValue("uname", data.name);
  DWRUtil.setValue("usex", data.sex);
  DWRUtil.setValue("uaddress", data.address);
 
 /**
 * 不知道属性
for(var property in data){
  //alert("property:"+property);
  alert(property+":"+data[property]);
  }
 */

}



java类

Hello.java




 

package org.li.dwr;

import java.util.Date;
import java.util.ArrayList;
import java.util.List;

public class Hello {
  public String getHelloWorld() {
    return "现在的时间为:" + new Date();
  }

  public String alertStr() {
    return "DWR框架:无参数";
  }

  public String alertJSStr(String jsvalue) {
    return "DWR框架:" + jsvalue;
  }

  public ArrayList returnAl() {
    ArrayList al = new ArrayList();
    al.set(1, "a");
    al.set(2, "b");
    al.set(3, "c");
    al.set(4, "d");
    return al;
  }
 
  public List getList() {
  List list = new ArrayList();
  for(int i=0;i<5;i++){
    InputRecord ir = new InputRecord();
    ir.setId(1);
    ir.setName("依韵");
    ir.setSex("男");
    ir.setAddress("北京市");
    list.add(ir);
  }
  return list;
 }
 
 public InputRecord getObj() {
 InputRecord ir = new InputRecord();
 ir.setId(2);
 ir.setName("白色黄昏");
 ir.setSex("女");
 ir.setAddress("河南");
 return ir;
 }


}



InputRecord.java




package org.li.dwr;

public class InputRecord {
  private int id;
  private String name;
  private String sex;
  private String address;
  public String getAddress() {
    return address;
  }

  public int getId() {
    return id;
  }

  public String getName() {
    return name;
  }

  public String getSex() {
    return sex;
  }

  public void setSex(String sex) {
    this.sex = sex;
  }

  public void setName(String name) {
    this.name = name;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public void setId(int id) {
    this.id = id;
  }
}


分享到:
评论

相关推荐

    JAVA-DWR简单例子

    **JAVA-DWR简单例子** DWR (Direct Web Remoting) 是一个开源的Java库,它允许在Web应用程序中实现JavaScript和服务器端Java代码之间的直接、异步通信。DWR简化了Ajax(Asynchronous JavaScript and XML)开发,...

    dwr简单 实例 入门

    在这个“dwr简单实例入门”中,我们将深入探讨DWR的基本概念、配置和一个简单的应用示例。 首先,了解DWR的核心概念: 1. **Remoting**:远程方法调用,DWR允许JavaScript代码通过HTTP请求调用服务器上的Java方法...

    dwr简单例子

    在这个名为“dwr简单例子”的项目中,我们很可能会看到如何在实际应用中设置和使用DWR的基本步骤。下面将详细介绍DWR的关键概念和这个示例可能包含的组件。 1. **DWR框架概述** DWR的核心功能是提供一种安全、高效...

    java dwr简单例子helloworld

    这个"java dwr简单例子helloworld"是一个基础教程,旨在通过一个简单的HelloWorld示例,让你了解DWR的工作原理和基本用法。 首先,DWR的核心思想是提供一种安全且高效的方式,让JavaScript能够与服务器端的Java对象...

    DWR简单例子

    **DWR(Direct Web Remoting)简介** DWR(Direct Web Remoting)是一个开源JavaScript库,它允许在...通过"DWR简单例子"的学习,你可以了解如何在实际项目中利用DWR实现更高效的Web应用交互,提高用户的使用体验。

    dwr简单实例,增强页面效果

    **DWR(Direct Web Remoting)简单实例及增强页面效果** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现JavaScript与服务器端Java代码交互的开源框架。它允许前端开发者通过JavaScript直接调用后端...

    DWR简单例子&中文文档

    通过这个简单的例子和中文文档,你可以逐步学习如何设置DWR环境,创建可调用的Java类,编写JavaScript代码以调用这些类,并在网页中展示结果。这将帮助你掌握DWR的基本用法,从而在J2EE项目中实现更流畅的前端交互...

    DWR 简单例子 很使用

    很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料

    DWR简单测试例子

    下面我们将深入探讨DWR的工作原理、配置过程以及如何创建一个简单的测试例子。 1. DWR的工作原理: DWR的核心在于它提供了一种安全的、跨域的通信方式。它通过JavaScript接口(JSR-269或JSR-173注解)动态生成...

    dwr反推简单例子

    在"**dwr反推简单例子**"中,我们将会探讨如何使用DWR进行数据的反向推送,即由服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。 首先,DWR的核心概念包括三个主要部分:`Engine`、`Configuration`和`...

    Dwr最简单例子(2.0)

    在这个"Dwr最简单例子(2.0)"中,我们将探讨如何使用DWR 2.0设置一个基础的应用程序,以便理解其核心概念和工作原理。首先,我们需要了解DWR的基本组件: 1. **配置文件**:DWR的配置文件(通常为`dwr.xml`)定义了...

    dwr简单的例子

    在这个"**dwr简单的例子**"中,我们将深入探讨如何使用DWR框架来创建一个基础的示例应用。 首先,理解DWR的基本工作原理至关重要。DWR通过在服务器上运行一个Servlet,这个Servlet负责处理JavaScript与Java之间的...

    简单使用dwr完整例子

    在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...

    dwr2.0最简单例子实用亲测试

    在“dwr2.0最简单例子实用亲测试”中,我们可以预期这是一个关于如何使用DWR 2.0版本的入门教程,包含了实际可运行的示例代码。下面将详细介绍DWR的基本概念和在这个实例中可能涉及的关键知识点: 1. **DWR的核心...

Global site tag (gtag.js) - Google Analytics