使用DWR实现AJAX技术2——将对象作为参数

来源:互联网 发布:淘宝教学 编辑:程序博客网 时间:2024/06/07 05:59

DWR是一个开源的类库,可以很方便的实现浏览器里的代码调用WEB服务器上的JAVA函数,操作JAVA对象或者集合。

首先需要下载dwr.jar放到WEB-INF/lib下,然后在WEB-INF创建一个名为dwr.xml的文件用于配置管理浏览器里需要调用JAVA函数。

实现用户身份验证和注册新用户功能将User对象作为参数传递

1.创建一个User对象

2.创建一个javaBean对象Blbean,含有用户身份验证的函数和注册新用户的函数

public class Blbean{

 /**  * 用户身份验证  */ 

public int loginUser(User user){  

//dao.queryUser(user)  

...... 

/**  * 注册新用户  */ 

public int insertUser(User user){  

//dao.saveUser(user)  

...... 

}

}

3然后将他们配置在dwr.xml文件中

<!DOCTYPE dwr PUBLIC     "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"     "http://getahead.org/dwr/dwr20.dtd">

<dwr>  

<allow>    

<create creator="new" javascript="Blbean">     <!-- 对象Blbean的实例化方式,这里实用的new -->      

<param name="class" value="bean.Blbean"/>       <!-- 对象的位置 -->      

<include method="loginUser"/>      

<include method="insertUser"/>       <!-- 浏览器里需要调用到的函数 -->    

</create>    

<!--由于对象User将会作为参数,所以需要配置在convert中-->    

<convert converter="bean" match="bean.User">       

<param name="include" value="username,password" />        <!--对应User的构造方法-->    

</convert>  

</allow>

</dwr>

4.JSP下应当引入以下文件

<script src='dwr/interface/Blbean.js'></script>

<script src='dwr/engine.js'></script>

<script src='dwr/util.js'></script>

5.html代码    

<form name="form1">    

uesrname:<input type="text" name="username">   

 <br>password:<input type="text" name="password">    

<br><input type="button" value="用户登陆" width="75" height="24" onclick="userlogin()" border="0" />     <br><input type="button" value="用户注册" width="75" height="24" onclick="insert()" border="0" />    

......    

</form>

6.javascript代码

 //检查用户名密码是否正确

function userlogin(){ 

var user;  var username = form1.username.value;

 var password = form1.password.value; 

user={username:username,password:password}//构造User对象

 Blbean.loginUser(user,callbackUserLogin);

}

function callbackUserLogin(msg)//获取函数返回值

{    if(msg==1){     alert("用户登陆成功。");    }else{     alert("用户登陆失败,用户名或密码错误。");    } }

//插入用户信息

function insert(){ 

var user;  var username = form1.username.value;

 var password = form1.password.value; 

user={username:username,password:password}//构造User对象 

Blbean.insertUser(user,callbackInsert); }

 function callbackInsert(msg)//获取函数返回值

{    if(msg==1){      alert("用户创建成功");   showTable();    }else{      alert("用户名已被人使用了。");    } }

文章出处:http://www.diybl.com/course/4_webprogram/ajax/ajaxxl/2008624/127922.html

原创粉丝点击