0 0

DWR问题:前台返回List<Book>给后台 后台无法正确转换 得到是字符串30

如题 请朋友帮忙 很着急 找了资料 都是说<signatures>可以解决 但是都不起作用。  谢谢!!

ps: 项目是 DWR直接调用Spring的业务方法!

public class Book extends BaseEntity
{
	private Integer id;
	private String name;
	private String publish;
	private String author;
	private Double price;
	private String memo;
	public Book(){super();}
	public Book(String name, String publish, String author, Double price)
	{
		super();
		this.name = name;
		this.publish = publish;
		this.author = author;
		this.price = price;
	}

       //omit seter/getter
}



DWR.xml
<dwr>
	<allow>
		<create creator="spring" javascript="bookService">
			<param name="beanName" value="bookService" />
		</create>

		<create creator="new" javascript="book">
			<param name="class" value="com.nyber.lab.domain.Book" />
		</create>

		<convert converter="bean" match="com.nyber.lab.domain.Book"
			javascript="Book" />

	</allow>

	<signatures>
		<![CDATA[ 
			import java.util.List;
			import com.nyber.lab.service.BookServiceImpl;
			import com.nyber.lab.domain.Book;
			BookServiceImpl.updateBooks(List<Book>);
			]]>
	</signatures>

</dwr>



BookServiceImpl.java
public class BookServiceImpl implements BookService
{
   // 以上是其他方法
   public void updateBooks(List<Book> books) throws BusinessException
	{
		System.out.println(books.get(0));
                // 无法将 books 遍历出来  
               
	}

}


js:
function addBooks()
{
    var books = new Array();
   
    var book = new Book();
    book.id=10;
   // 省略了设置值
    var book2 = new Book();
    book2.id=20;
   // 省略了设置值
    books[0] = book;
    books[1] = book2;
    bookService.updateBooks(books);
   }


server得到的结果如下:
{memo:reference:c0-e2, price:reference:c0-e3, name:reference:c0-e4, id:reference:c0-e5, author:reference:c0-e6, publish:reference:c0-e7}
DWR 
2008年5月27日 16:43

3个答案 按时间排序 按投票排序

0 0

干什么要前台给后台对象啊,给个id就好了。后台通过id 获得该对象好了。
通过spring注入 在你的后台获得 XXXService

2008年5月29日 16:52
0 0

Object obj = books.get(0);
System.out.println(obj.get.....);

books.get(0)是个对象!

2008年5月29日 16:03
0 0

System.out.println(books.get(0));  
books.get(0) 还是个books对象啊。没print出属性啊

2008年5月29日 10:45

相关推荐

    dwr回调函数得到后台list

    当服务器完成处理并返回`List&lt;User&gt;`时,DWR会自动调用`userdata`函数,并将Java列表转换为JavaScript数组传递给它。在`userdata`函数内部,我们使用`for`循环遍历数组,通过索引访问每个`User`对象的`userName`属性...

    DWR 初始,返回字符串&对象&列表

    例如,服务器端有一个方法`getString()`返回一个字符串,DWR会自动将这个字符串传递给JavaScript回调函数。这在显示消息、错误信息或者简单的数据交换中非常有用。 2. **返回对象**: DWR支持将Java对象转换为JSON...

    dwr源码包,dwr.jar包下载

    1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: &lt;!-- 配置DWR --&gt; &lt;servlet&gt; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt; &lt;servlet-class&gt; org.... &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;

    DWR框架怎么返回对象

    例如,Java方法返回一个`List&lt;JavaBean&gt;`,DWR会将其转换为JavaScript数组,每个元素都是对应的JavaScript对象。你可以在JavaScript中使用`for`循环遍历并访问这些对象。 此外,DWR提供了错误处理、安全控制、缓存...

    dwr 前台调用后台的java类 hello

    《DWR:前台调用后台Java类的"Hello, World!"实践详解》 Direct Web Remoting(DWR)是一个开源的Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、安全的通信,实现JavaScript与Java代码的交互。DWR简化...

    DWR使用配置,并用DWR获得返回list类型中的对象,并在页面显示

    List&lt;MyObject&gt; dataList = new ArrayList&lt;&gt;(); // 假设填充数据... return dataList; } ``` 这里的`MyObject`是你要返回的数据对象,可以根据实际需求进行定义。 3. **生成DWR的JavaScript接口**:在完成上述...

    SSH例子

    &lt;br&gt;功能:使用dwr完成在客户端无刷新的分页排序等&lt;br&gt;&lt;br&gt;工具:MyEclipse 6.0,数据库SQLSERVER 2000&lt;br&gt;&lt;br&gt;数据在SQL文件夹下,Jobs是pubs数据库自带的&lt;br&gt;&lt;br&gt;主要的三个页面,emp是详细的,另两个是简单的复制修改,...

    dwr配置

    4. `string` - 字符串转换 5. `date` - 日期转换 6. `array` - 数组转换 7. `map` - 映射转换 8. `collection` - 集合转换 在使用自定义的转换器或创建器时,需要在`&lt;init&gt;`部分声明它们,并赋予唯一的`id`属性,...

    dwr入门例子 返回list

    在“dwr入门例子 返回list”这个主题中,我们将深入探讨如何使用DWR从服务器返回列表数据到客户端。列表通常包含多个项目,如数据库查询结果,这些数据可以在网页上以表格或其他形式展示给用户。DWR提供了方便的方法...

    DWR: Easy AJAX for JAVA

    - **Service 类**: 这是一个普通的 Java 类,其中包含了一个名为 `sayHello` 的方法,该方法接收一个字符串参数并返回一个字符串。 ##### 4. 创建 dwr.xml 文件 创建 dwr.xml 文件来定义哪些 Java 类可以被客户端...

    dwr入门例子 包含类型转换

    `Dealer`类的实例可以通过`bean`转换器自动映射到JavaScript对象,而`Monitor`类的方法如`setDealers`和`setDealersMap`允许接收`List&lt;Dealer&gt;`和`Map&lt;String, Dealer&gt;`类型的参数。 接下来,让我们看看具体的Java...

    dwr各种例子(各种数据类型返回值+包+导入可用+注释+附带讲解)

    这种类型的Map特别常见,因为键通常是字符串,值可以是任何类型。在DWR中,你可以直接在JavaScript中通过键来访问和修改这些值,增强了前后端数据交换的灵活性。 6. **DWR包和导入**: 在使用DWR时,你需要在项目...

    DWR中文教程

    目录:&lt;br&gt;第一章:dwr入门&lt;br&gt;第二章:web.xml配置&lt;br&gt;第三章:dwr.xml配置&lt;br&gt;第四章:整合&lt;br&gt;第五章:dwr中的javaScript简介&lt;br&gt;第六章:engine.js功能&lt;br&gt;第七章:util.js功能&lt;br&gt;第八章:dwr进阶&lt;br&gt;第九章:...

    spring+struts+hibernate+dwr+jstl做的实例

    INF/src下&lt;br&gt;Winxp sp3+JDK1.6+Tomcat 6.0下运行通过&lt;br&gt;因文件长度限制,未加入相关类库,请自行加入,需要的类库有:&lt;br&gt;dom.jar&lt;br&gt;dwr-2.0.rc2.jar&lt;br&gt;jaxen-full.jar&lt;br&gt;jaxp-api.jar&lt;br&gt;jdbc2_0-stdext.jar...

    将dwr集成到spring mvc(dwr的配置是基于xml)

    &lt;artifactId&gt;dwr&lt;/artifactId&gt; &lt;version&gt;3.x.x&lt;/version&gt; &lt;!-- 使用你想要的版本 --&gt; &lt;/dependency&gt; ``` 接下来,我们需要配置DWR。在Spring MVC中,通常使用XML配置文件(例如:`applicationContext-dwr.xml`)...

    在Spring中使用dwr

    &lt;script type='text/javascript' src="&lt;%=request.getContextPath()%&gt;/dwr/interface/personAction.js"&gt;&lt;/script&gt; &lt;script type='text/javascript' src='&lt;%=request.getContextPath()%&gt;/dwr/engine.js'&gt;&lt;/script&gt; ...

    DWR配置文件详解,DWR配置

    `&lt;allow&gt;`标签是配置DWR允许操作的关键部分,它定义了哪些Java类可以被JavaScript调用,以及如何转换Java对象。例如: ```xml &lt;allow&gt; &lt;create creator="..." javascript="..."/&gt; &lt;convert converter="..." match...

    JAVA AJAX中使用dwr获取后台list并在页面用表格显示

    List&lt;User&gt; userList = new ArrayList&lt;&gt;(); // 假设这里是从数据库获取数据 // userList.add(new User(...)); return userList; } } ``` 在前端,我们需要创建一个AJAX请求来调用DWR暴露的`getUserList()`方法...

    DWR中处理List

    通过上述示例可以看出,在DWR中处理List、Set和Map等集合类型的关键在于正确配置DWR XML文件,并编写合适的客户端JavaScript代码来调用服务端的方法及处理返回的数据。这种方式大大简化了前后端之间的数据交换过程,...

    spring-hibernate-dwr实例

    spring-hibernate-dwr做的AJAX操作CRUD实例&lt;br&gt;环境:myeclipse6.0+jdk1.6&lt;br&gt;所需lib列表,请自行加入&lt;br&gt;mysql-connector-java-3.1.7-bin.jar&lt;br&gt;antlr-2.7.6rc1.jar&lt;br&gt;asm-attrs.jar&lt;br&gt;cglib-2.1.3.jar&lt;br&gt;...

Global site tag (gtag.js) - Google Analytics