注意在导入js文件时必须先导入系统的js,再导入自己的
<script type='text/javascript' src='jquery.js'></script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/interface/userAct.js'></script>
首先,使用DWR,需配置dwr.xml:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting3.0//EN""http://getahead.org/dwr/dwr30.dtd">
-
- <dwrallow>
- createcreator="new"javascript="MyDWR"paramname="class"value="com.DWRTest.Controller.MyDWR"/>
- </createconvertconverter="bean"match="com.DWRTest.model.*">
我们配置com.DWRTest.Controller.MyDWR,且配置com.DWRTest.model下的所有文件一个转换器。这个转换器,才使得DWR能够传递及访问对象。
假设model下有一个POJO:
packagecom.DWRTest.model;
-
- publicclassUser{
- privateStringusername;
- privateStringpassword;
- publicStringgetUsername(){
- returnusername;
- }
- voidsetUsername(Stringusername){
- this.username=username;
- }
- publicStringgetPassword(){
- returnpassword;
- voidsetPassword(Stringpassword){
- this.password=password;
- }
那么可以做以下几个实验:
1.DWR获得JAVA传递的对象
java代码:
publicUsergetMyUser(){
- Useruser=newUser();
- user.setUsername("tammypi");
- user.setPassword("1988");
- returnuser;
-
利用javascript访问这个对象:
MyDWR.getMyUser(function(user){
- alert(user);
- alert('用户名:'+user.username+",密码:"+user.password);
- }
2.DWR获得JAVA传递的对象List:
copy
publicList<User>getMyUserList(){
- List<User>list=newArrayList<User>();
- Useruser2= user2.setUsername("tammypi");
- user2.setPassword("1988");
- Useruser1= user1.setUsername("tony");
- user1.setPassword("1962");
- list.add(user1);
- list.add(user2);
- returnlist;
-
利用javascript访问list:
MyDWR.getMyUserList(function(list){
- for(vari=0;i<list.length;i++){
- alert("访问第"+i+"个对象");
- alert(list[i].username+","+list[i].password);
- });
3.DWR传递对象,并访问JAVA返回的Map:
copy
publicMap<String,String>insertUser(Useruser){
- System.out.println(user.getUsername()+","+user.getPassword());
- Map<String,String>map=newHashMap<String,String>();
- map.put(user.getUsername(),user.getPassword());
- returnmap;
-
利用javascript访问返回的map:
varmyUser=newObject();
- //传对象1
/* var u = { username : "aaaaaaaaaaaa", password : "bbbbbbbbbbbb" }; */ //传对象2 var user = {}; user.username="ddddddddddd"; user.password="dddddddddddddddd";
-
- MyDWR.insertUser(myUser,function(dat11){
- varkeyindat11){
- alert(key+","+dat11[key]);
- });
4.DWR传递对象数组:
copy
voidinsertUserList(User[]users){
- inti=0;i<users.length;i++){
- Useruser=users[i];
- System.out.println("用户名:"+user.getUsername()+",密码:"+user.getPassword());
-
javascript代码:
vararr=newArray();
- varmyUser1=newObject();
- myUser1.username="kkdkf";
- myUser1.password="kj";
- varmyUser2= myUser2.username="kkdkf113434";
- myUser2.password="kj343434";
- arr[0]=myUser1;
- arr[1]=myUser2;
- MyDWR.insertUserList(arr);
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|