`
zhouxingfu520
  • 浏览: 422315 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

dwr返回List

阅读更多

 

 

 

 

java bean

public class VoAreaLevel implements java.io.Serializable {

	// Fields

	private Long wlevel;
	private String wname;

	// Constructors

	/** default constructor */
	public VoAreaLevel() {
	}

	public Long getWlevel() {
		return this.wlevel;
	}

	public void setWlevel(Long wlevel) {
		this.wlevel = wlevel;
	}

	public String getWname() {
		return this.wname;
	}

	public void setWname(String wname) {
		this.wname = wname;
	}


}
 

dwr配置 映射java bean对象   配置好的文件 必须要加载在web.xml

	<!-- 配置dwr服务类 -->
	<bean id="UserAjaxHelper"
		class="com.per.service.DwrService">
		<!-- 定义调用的js文件名称 -->
		<dwr:remote javascript="UserAjaxHelper">
		<!-- 配置bean对象 -->
			<dwr:convert type="bean"
				class="com.per.web.ajaxvo.VoAreaLevel">
			</dwr:convert>
		</dwr:remote>
	</bean>

 

dwr标记说明

 
<allow>标签中包括可以暴露给javascript访问的东西。
<create>标签中指定javascript中可以访问的java类,并定义DWR应当如何获得要进行远程的类的实例。
 creator="new"属性指定java类实例的生成方式,new意味着DWR应当调用类的默认构造函数来获得实例,
其他的还有spring方式,通过与IOC容器Spring进行集成来获得实例等等。
javascript=" testClass "属性指定javascript代码访问对象时使用的名称。
<param>标签指定要公开给javascript的java类名。
<include>标签指定要公开给javascript的方法。不指定的话就公开所有方法。
<exclude>标签指定要防止被访问的方法。

标签负责公开用于Web远程的类和类的方法,<convertor>标签则负责这些方法的参数和返回类型。convert元
素的作用是告诉DWR在服务器端Java
对象表示和序列化的JavaScript之间如何转换数据类型。DWR自动地在Java和JavaScript表示之间调整简单数据类型。这些类型包括
Java原生类型和它们各自的封装类表示,还有String、Date、数组和集合类型。DWR也能把JavaBean转换成JavaScript
表示,但是出于安全性的原因,要求显式的配置,<convertor>标签就是完成此功能的。converter="bean"属性指定转换
的方式采用JavaBean命名规范,match=""com.dwr.TestBean"属性指定要转换的javabean名称,<param&
gt;标签指定要转换的JavaBean属性。
 

 

dwr调用dao业务类 查询数据 返回List集合 必须要是封装已经映射的bean对象 js才能访问

 

public List<VoAreaLevel> getAreaLevelSelect() {
		try {
			List<VoAreaLevel> getlistAreaLevel = new ArrayList<VoAreaLevel>();
                      //这里就是查询返回数据  假装list是查询的数据 进行迭代  
			Iterator<PbAreaLevel> it = list.iterator();
			while (it.hasNext()) {
				PbAreaLevel pt = (PbAreaLevel) it.next();
				VoAreaLevel vo = new VoAreaLevel();
				vo.setWlevel(pt.getWlevel());
				vo.setWname(pt.getWname());
                              //list集合必须封装的是映射的java bean对象
				getlistAreaLevel.add(vo);
			}
			return getlistAreaLevel;
		} catch (SystemRunException e) {
			e.printStackTrace();
			return null;
		}

	}
 

在页面调用 javascript中调用

 

其中UserAjaxHelper.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。

<script type="text/javascript" src="dwr/util.js"></script>
    <script type="text/javascript" src="dwr/engine.js"></script>
    <script type="text/javascript" src="dwr/interface/UserAjaxHelper.js"></script>

<script type="text/javascript" >
//获取区域级别两级下拉 编辑所定义的 dwr组合
function getAreaLevelSelect(){
    UserAjaxHelper.getAreaLevelSelect(AreaLevelSelect);
}
//回调函数 dwr响应的结果
var AreaLevelSelect = function (data) {
 try{
//每次删除下拉框所有值
 DWRUtil.removeAllOptions("areaid");
 //wlevel是select的value  wname是显示可选择的 
//for(var i=0;<i<data.length;i++){ var bean=data[i]; 相当于data.wlevel,data.wname  获取属性方式}
添加在select id为areaid的下拉框中 value是wlevel  , name是wname
 DWRUtil.addOptions("areaid",data,"wlevel","wname"); 
 }catch(e){alert("系统出现错误");return false;}
}

</script>



<body onload="getAreaLevelSelect()">
<select name="areaid" id="areaid" >
       	    </select>

</body>
 

 

date实际上是一个object数组,即数组的每个元素均为object

 

由以上可以发现,对于java方法的返回值 为List(Set)的情况,DWR将其转化为Object数组,传递个javascript;对于java方法的返回值为Map的情况,DWR将其转化 为一个Object,其中Object的属性为原Map的key值,属性值为原Map相应的value值。

 

DWR根据dwr.xml生成和Java代码类似的Javascript代码。

相对而言Java同步调用,创建与Java代码匹配的Ajax远程调用接口的最大挑战来至与实现Ajax的异步调用特性。

DWR通过引入回调函数来解决这个问题,当结果被返回时,DWR会调用这个函数。

有两种推荐的方式来使用DWR实现远程方法调用。可以通过把回调函数放在参数列表里,也可以把回调函数放到元数据对象里。

当然也可以把回调函数做为第一个参数,但是不建议使用这种方法。因为这种方法在处理 自动处理http对象 时(查看"Alternative Method")上会有问题。这个方法主要是为向下兼容而存在的。

分享到:
评论

相关推荐

    dwr 查询返回list处理

    6. **前端框架集成**:如果使用了像jQuery、AngularJS、React等前端框架,DWR返回的数据可能需要进一步处理以适应框架的语法和数据模型。例如,使用jQuery,我们可能会使用`.each`函数结合DOM操作来呈现列表数据。 ...

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

    例如,如果有一个名为`UserService`的服务,里面有一个返回`List`的方法`getUserList()`,那么在`dwr.xml`中会有如下配置: ```xml ``` 然后,在`UserService`类中,我们需要实现`getUserList()`方法,...

    关于使用DWR返回对象List的方法

    这篇博客文章“关于使用DWR返回对象List的方法”主要探讨了如何通过DWR框架在Java后端处理数据并以List对象的形式返回给前端JavaScript。 在Web开发中,通常我们需要从服务器获取数据并在客户端展示,DWR通过AJAX...

    dwr入门例子 返回list

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

    DWR中处理List

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

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

    比如,你可能有一个`getUsers()`方法,它返回一个`List&lt;User&gt;`。DWR会将这个列表转换为JavaScript数组,每个元素都是之前提到的`Person`对象的JavaScript表示。这样,你可以在前端遍历数组,展示用户信息。 使用DWR...

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

    2. **在服务器端编写Java代码**:在`MyServiceImpl`类中,我们需要创建一个返回List类型的方法,例如: ```java public List&lt;MyObject&gt; getList() { // 实现获取数据的逻辑,可能从数据库或其他数据源中获取 List...

    dwr回调函数得到后台list

    在这个场景中,我们关注的是如何在DWR回调函数中处理从服务器返回的`List&lt;Bean&gt;`类型的数据。 首先,我们需要在服务器端定义一个Java方法,该方法会返回一个`List&lt;Bean&gt;`。例如,假设我们有一个名为`User`的Java ...

    DWR框架怎么返回对象

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

    dwr返回对象.doc

    下面将详细解释DWR返回对象的处理,包括如何获取和处理不同类型的数据,如list、Map、Set以及JavaBean。 1. **无返回值和参数的Java方法** 在`dwr.xml`配置文件中,我们定义一个名为`testClass`的JavaScript接口,...

    dwr-demo.rar_DEMO_DWR DE_dwr Demo_list set map

    2. **创建Java服务端接口**:为了使DWR工作,你需要在服务器端创建一个Java类,该类包含将被调用的方法,比如返回List、Set或Map的实例。这些方法可能从数据库或其他数据源获取数据。 3. **JavaScript调用**:在...

    dwr练习实例(各种数据转换list,map,数组等)

    在这个例子中,`MyClass`的`getListOfObjects`方法返回一个List,DWR会自动将其转化为JavaScript数组供前端使用。 接着,我们来看看Map的转换。DWR可以将HashMap或其他Map实现转换为JavaScript的对象(Object)。...

    dwr课件,java,反向ajax

    1. 返回List:在Java端,你可以创建一个List,填充数据后通过DWR接口返回。JavaScript端将接收到一个数组,数组的每个元素对应于List中的一个对象。 2. 返回Map:Java端创建Map并填充分配好的键值对,通过DWR调用...

    dwr对各种类型返回值的处理实例

    DWR同样支持List、Set等集合类型的返回。比如返回一个ArrayList,在JavaScript端,这个集合会被转换为JavaScript数组,可以遍历和操作。`data.forEach(function(user){console.log(user.name);});` 5. **Map**: ...

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

    DWR也支持返回List类型的数据。例如,一个Java方法可能返回一个包含多个实体对象的List,这些对象在JavaScript中将以数组的形式呈现。你可以遍历这个数组并在前端进行展示或操作。 4. **List和Map数据结构**: ...

    dwr 关于返回结果的相关配置

    例如,如果Java方法返回一个`List&lt;String&gt;`,DWR会将其转换为JavaScript数组,每个元素都是字符串类型。 - 在`dwr.xml`中无需特殊配置,只需确保JavaBean中的属性与JavaScript期望的数据类型相匹配。 6. **优化和...

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

    例如,我们可以定义一个返回list的Java方法: ```xml ``` 对应的Java代码可能是这样的: ```java public class DataService { public List&lt;Object&gt; getListOfData() { // 查询数据库并返回list } } ``...

    DWR调用及传参总结

    当Java方法返回List、Set或Map时,如`callTestMethod6`,返回的数据可以通过回调函数`callBackFortestMethod6`获取。如果列表元素是基本类型或特定复杂类型,无需在`dwr.xml`中特别声明。 7. **有List、Set或Map...

    dwr示例代码,绝对好用

    2. **Java类与Bean**:描述中提到的"调用后台java类返回List,List中存放自定义的javabean",这意味着后端有一个Java类,它可能包含一个或多个方法,这些方法返回一个包含自定义Java Bean的List。Java Bean是一种...

    DWR联动刷select

    ### DWR联动刷select实现联动菜单 #### 一、DWR简介 Direct Web Remoting (DWR) 是一种简化Ajax应用程序开发的技术。它允许JavaScript直接调用Java方法,并且能够处理JSON数据,使得前后端之间的交互更为简单高效...

Global site tag (gtag.js) - Google Analytics