dwr处理参数或返回值为pojo对象的JavaBean方法

简介:        在使用dwr避免不了碰到javabean中有对象作为参数的,那么这样的方法怎么在js中调用呢?        就这个问题,做了一个小例子,与大家分享一下: package com.

       在使用dwr避免不了碰到javabean中有对象作为参数的,那么这样的方法怎么在js中调用呢?

       就这个问题,做了一个小例子,与大家分享一下:

package com.tgb.dwr;

/**
 * dwr使用测试
 * @author Admin
 *
 */
public class DwrTest {
	public String hellobody(User user){
		return "Hello,"+user.getName()+",恭喜你今年"+user.getAge()+"岁";
	}
	public User getUser(){
		User user = new User();
		user.setName("Arron");
		user.setAge(10);
		return user;
	}
}

public class User {
	private String name;
	private int age;
	//省略set和get方法
}


       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="T1" creator="new">
	    <param name="class" value="com.tgb.dwr.DwrTest"/>
	  </create>
	  <convert match="com.tgb.dwr.User" converter="bean">
	  	<param name="include" value="name,age"></param>
	  </convert>
	</allow>

</dwr>

       js代码如下:

<script type="text/javascript">
function test1(){
	var userdata;
	userdata = {name:"Arron", age:"10"};
	T1.hellobody(userdata,
			function(data){
				alert(data);
			}
		);
	T1.getUser(function(data){
			for(var prop in data){
				alert("属性名:"+prop+",属性值:"+data[prop]);
			}
	});
}
</script>

       效果图如下:



       相信根据代码,你已经理解的差不多了。我再解释一下吧:


       由于dwr只支持json的数据格式,因此在dwr中我们要读取javaBean中的属性,就必须将其转换成json的数据格式,这需要配置convert进行转换转换器中最常用的是bean(本实例用这个)和Object。


       bean 转换器可以把pojo 转换成JavaScript支持的Json数组(以键值对的形式存储类似Java的Map)。或者反向转换。只有在你自己同意的情况下,dwr才会去调用你的Java代码。


       本实例中,我们采用的是bean转换器来转换User对象,所以对DwrTest配置一个creator,User配置一个convert。另外在js代码中,传递参数也需要用json格式的对象。即本例中的userdata对象。


目录
相关文章
|
网络协议 Unix Linux
计算机网络 套接字函数 | socket、bind、listen、accept、connect
计算机网络 套接字函数 | socket、bind、listen、accept、connect
251 0
|
机器学习/深度学习 算法 数据可视化
感知机和神经网络
**神经网络**是模仿生物神经元结构的数学模型,用于处理复杂关系和模式识别。它由输入层、隐藏层(可能多层)和输出层组成,其中隐藏层负责信息处理。随着层数增加(深度学习),网络能处理更多信息。基本模型包括感知机,仅输入和输出层,用于线性划分;而**BP神经网络**有多个隐藏层,通过反向传播和梯度下降优化参数,避免局部最小值。训练过程中,神经元通过激励函数响应并调整权重,以提高预测准确性。
|
存储 数据采集 SQL
阿里云日志服务 SLS 全景体验
阿里云日志服务 SLS 不只是“日志储存”,更是一个一站式智能运维方案、可观测平台。我们从“客户需要的数据如何获取”,发展为“客户的数据如何使用”,再过渡到“如何帮助客户用好数据,产生更大价值”。
1585 1
阿里云日志服务 SLS 全景体验
|
自然语言处理 算法 数据挖掘
白话Elasticsearch51-深入聚合数据分析之text field聚合以及fielddata原理
白话Elasticsearch51-深入聚合数据分析之text field聚合以及fielddata原理
185 0
|
8天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
7天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
344 130
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话