DWR 传对象到前台

前几天由于项目的需要专门研究了下DWR,虽然网上的资料不是很多,但官方文档写得很好。发现他的简单,实用,作为AJAX框架,它让我大为兴奋

1、传对象到前台浏览器

首先说下基本的配置,需要的jar包


web.xml配置

 <servlet>
    <display-name>DWR Servlet</display-name>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
          <init-param>
     <!-- 配置调试模式,可以在localhost:8080/XiongFeng/dwr/看到js脚本化的类,若没有加上,访问 localhost:8080/XiongFeng/dwr/会包error错误 -->
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>

</servlet>

dwr.xml配置

//将类和javascrip联合起来,一边前台调用

<create creator="new"  javascript="UserService">
      <param name="class" value="com.dwr.service.UserService"/>
</create>

//若要传对象,需要下面的配置,这样就直接可以把对象传到浏览器前台了

 <convert converter="bean" match="com.dwr.model.User"/>

java代码

User 类

package com.dwr.model;
public class User {
 int id ;
 String  name ;
 int   number ;  
public User(){}
public User(int id, String name, int number) {
super();
this.id = id;
this.name = name;
this.number = number;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "id="+id+"  name="+name+" number="+number;
}
}

UserService类

public class UserService {

public User loadUser(){
  User user =  new User(1,"张三",1);
  return user ;
  }

}

jsp代码

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<!--要加上必要的dwr引擎,还有顺序不能颠倒-->

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<script src='<%=request.getContextPath() %>/dwr/engine.js'></script>
<script src='<%=request.getContextPath() %>/dwr/interface/UserService.js'></script>

<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">

window.οnlοad=function(){
//返回一个带有返回值function函数

      UserService.loadUser(result);
};
function result(user){
alert(user.number+","+user.name+",");
}
</script>
</body>
</html>

看到这里,运行之后,惊奇发现把对象传到前台来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值