程序可以运行,但无法取到javabean的数据,ie7打开弹出对话框:‘name’(name为javabean一个属性)为空或不是对象 ,firefox提示“item has no perpertise” ,我用的dwr版本是 2.02 ,其他也试过了一样的问题 ,搞了好久,实在找不出原因啊 ,哪位大哥帮忙看看啊
tomcat 打印如下信息:
2008-03-30 21:49:22,281 [org.directwebremoting.dwrp.DefaultConverterManager]-[ERROR] No converter found for 'org.zm.dwr.Item'
[org.directwebremoting.dwrp.DefaultConverterManager]-[ERROR] No converter found for 'org.zm.dwr.Item'
2008-03-30 21:49:22,296 [org.directwebremoting.dwrp.DefaultConverterManager]-[ERROR] No converter found for 'org.zm.dwr.Item'
--
我的jsp和javascript文件
<script type="text/javascript"
src="/DwrTest/dwr/interface/shopping.js"></script>
<script type="text/javascript" src="/DwrTest/dwr/engine.js"></script>
<script type="text/javascript" src="/DwrTest/dwr/util.js"></script>
<script type="text/javascript">
window.onload = function(){
shopping.getList(displayItems);
}
function displayItems(items){
DWRUtil.removeAllRows("content") ; //先移除table数据
if(items.length!=0){alert(items.length);} //运行时 提示长度为 3
DWRUtil.addRows("content",items,cellFunctions); //填充table
}
var cellFunctions=[
function(item){ return item.name;},
function(Item){ return item.description;},
function(item){ return item.price;},
function(item){
var btn = document.createElement("button");
btn.innerHtml="add" ;
return btn ;
}
</script>
</head>
<body>
<table>
<tbody id="content">
<!-- 在此填充数据 --> </tbody>
</table>
</body>
---
DBFactory 类 :我的数据工厂类package org.zm.dwr;
import java.util.HashMap;
import java.util.Map;
public class DBFactory {
private static Map<String ,Item> allItems= new HashMap<String,Item>() ;
static{
allItems.put("1111", new Item("aaaaa","bbbbbb","ccccc",1999));
allItems.put("2222", new Item("acdfdf","sdfsdf","sdaffsdaf",1129));
allItems.put("33333", new Item("234dsd","vsadsdf","234sdsdf",1542));
}
public static Map getAllItems(){
return allItems ;
}
}
---DAO类 package org.zm.dwr;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ShoppingDAO extends DBFactory {
@SuppressWarnings("unchecked")
public List getList(){
ArrayList<Item> list = new ArrayList<Item>() ;
Iterator<Item> i = getAllItems().values().iterator();
while(i.hasNext()){
Item item = i.next() ;
list.add(item);
System.out.println(item.getName());
}
return list ;
}
}
----javabean
package org.zm.dwr;
public class Item{
private String id;
private String name;
private String description;
private int price;
public Item(String id, String name, String description, int price) {
this.id = id;
this.name = name;
this.description = description;
this.price = price;
}
public String getDescription() {
return description;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
}
--我的dwr.xml :
<?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 javascript="shopping" creator="new" scope="session">
<param name="class" value="org.zm.dwr.ShoppingDAO"></param>
<include method="getList"/>
</create>
<convert match="bean" converter="org.zm.dwr.Item"></convert></allow>
</dwr>
分享到:
相关推荐
在这个"**dwr.rar_dwr_dwr Stri_dwr javabean**"的压缩包中,我们可能找到了关于DWR如何处理不同类型数据的详细信息,特别是对String、list、map以及JavaBean的操作。 首先,让我们深入理解DWR的核心概念。DWR的...
在这个“dwr返回JavaBean的例子”中,我们将探讨如何利用DWR将JavaBean对象从服务器端传递到客户端,以便在用户界面中直接使用。JavaBean是一种符合特定规范的Java类,通常用于封装数据和提供业务逻辑。 首先,我们...
在“DWR实现QQ消息提示”这个场景中,DWR被用来创建一个类似于QQ的消息通知系统。通常,如果要实现实时的消息推送,开发者可能会使用定时查询(比如Ajax轮询)来检查服务器是否有新消息,但这种方式会频繁请求服务器...
在“调用带JavaBean参数方法的DWR例子”中,我们将深入探讨如何使用DWR来调用包含JavaBean作为参数的方法。 首先,我们需要理解DWR的基本工作原理。DWR通过创建一个JavaScript接口,该接口映射到服务器上的Java类和...
在DWR中处理JavaBean通常涉及两个关键步骤:一是配置DWR的XML文件来指定哪些JavaBean可以被客户端访问;二是编写客户端JavaScript代码来调用这些JavaBean的方法。 **2.1 配置DWR XML文件** DWR XML文件用于配置哪些...
在"HelloWorld解释&&使用javabean"这个主题中,我们将深入理解DWR的基本概念、工作原理,并通过一个简单的JavaBean示例来展示其用法。 首先,DWR的核心功能是提供了一个安全、高效的AJAX(Asynchronous JavaScript ...
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
在**“DWR 视频教程 使用DWR开发AJAX For JavaEE”**中,我们主要会学习以下几个关键知识点: 1. **DWR的基本概念**:理解DWR的核心功能,包括自动暴露Java对象到JavaScript,提供安全的跨域调用,以及对HTTP请求的...
本例子通过Spring容器管理ibatis dwr2的javaBean以及事务,Extjs通过dwr2来调用Spring管理类
具体来说,当DWR运行时,会根据配置生成一个JavaScript库,这个库包含了对服务器端JavaBean的封装,从而允许前端代码直接调用这些JavaBean的方法。 #### 三、DWR的组件 - **DWR的JavaScript引擎**:负责处理Ajax...
5. **调用有JavaBean参数的Java方法**: 如果Java方法接受JavaBean作为参数,配置方式与返回JavaBean类似,只需要确保在`dwr.xml`中配置对应的`<param>`标签来指定要包含的属性。在JavaScript中,你可以直接将匹配的...
在这个实例中,“DWR实现Google自动提示功能”是利用DWR框架来构建一个类似于Google搜索框的自动提示功能,用户在输入框中输入时,后台会实时地根据输入内容提供相关的建议,无需页面刷新。 一、DWR框架详解: DWR...
因为DWR没有办法知道你是否采用jdom converter,所以提示信息是info级别.如果你想采用jdom converter,你必须很清楚地知道jdom converter是否可以被加载.这就是DWR保留上面的提示信息的原因. 3 The Creators DWR共有三...
在JavaScript端,接收到的返回值可以直接用于操作,因为DWR会映射JavaBean的属性到JavaScript对象的属性。 5. **更复杂的调用方式** 除了上述的基本调用方式,DWR还支持异步调用、批量调用、传递数组和集合、异常...
**DWR配置文件详解** Direct Web Remoting (DWR) 是一种开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR的核心配置文件是`dwr.xml`,该文件定义了DWR允许访问的Java对象、...
为了能够传递JavaBean类型的数据,我们需要在`dwr.xml`文件中增加`<convert>`标签: ```xml <dwr> <param name="class" value="com.dwr.TestClass"/> <convert converter="bean" match=...
为了在页面中使用DWR,我们需要引入几个JavaScript文件:`dwr/engine.js`、`dwr/util.js`以及针对你的JavaBean接口的JS文件,比如`interface/MyTest.js`。这些文件提供了DWR的核心功能和与服务器交互的方法。 在...
converter 属性指定转换的方式,例如 "bean" 表示采用 JavaBean 命名规范。match 属性指定要转换的 JavaBean 名称。 `<param>` 标签用于指定要转换的 JavaBean 属性。include 属性指定要转换的属性,exclude 属性...
DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,从而实现在Web应用程序中的Ajax功能。DWR的主要目标是简化前后端的数据交换,提高用户体验,使得Web应用能够像桌面...