本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7589149
建立时间:2006年5月29日




[DWR(Ajax)]DWR 2.0 入门扩充
软件技术,  电脑与网络

lhwork 发表于 2006/7/3 11:39:18

之前必须看过一篇关于dwr的入门文章,这里不讲配置;那篇没怎么讲大部分javascript的api,这里详细讲javascript的操作.java 类(很简单,理解就行了)---------------------------------------------------------------------public Collection getAllPeople(){ return people.values();}public Person getPerson(int id){ return (Person) people.get(new Integer(id));}public boolean deletePerson(Person toDelete){ return people.remove(new Integer(toDelete.getId())) != null;}public void addPerson(Person toAdd){ if (toAdd.getId() == -1) { toAdd.setId(nextId++); } people.put(new Integer(toAdd.getId()), toAdd);}private static int nextId = 10;private Map people = new HashMap();---------------------------------------------------------------------脚本部分:<script type='text/javascript' src='/dwr-demo/dwr/interface/Demo.js'> </script> //在xml描述符里面定义的<script type='text/javascript' src='/dwr-demo/dwr/engine.js'> </script> // 系统的<script type='text/javascript' src='/dwr-demo/dwr/util.js'> </script> //系统的<script type='text/javascript'>//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<var getName = function(person) { return person.name };var getDoB = function(person) { return person.address }; // if we return to using dates, add .toLocaleDateString()var getSalary = function(person) { return person.salary };var getEdit = function(person) { return '<input type="button" value="Edit" onclick="readPerson('+person.id+')"/>';};var getDelete = function(person) { return '<input type="button" value="Delete" onclick="deletePerson('+person.id+', \''+person.name+'\')"/>';};//其实这里是这个意思://function getName(person){ // return person.name;//}//也可以写成这样://var cellFuncs = [// function(data) { return data; },// function(data) { return data.toUpperCase(); },// function(data) {// return "<input type='button' value='Test' onclick='alert(\"Hi\");'/>";// },// function(data) { return count++; }//];//输出的时候按照顺序输出;//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//更新列表的状态;function update() { Demo.getAllPeople(fillTable); 调用fillTable方法,把返回值传给fillTable(returnData)填充数据;}//填充数据;function fillTable(people) { DWRUtil.removeAllRows("peoplebody");//提供的方法,删除tbody对象里面的所有对象; //addRows 在官方文档里面有写具体介绍,大概说一下: //for each member in array // for each function in cellfuncs // create cell from cellfunc(array[i]) //看上面的代码就知道了,他把他当作array处理,每个元素还是个array,里面都是函数,通过在第三个参数里面的名字来调用依次调用. //所以注意第三个参数的顺序; DWRUtil.addRows("peoplebody", people, [ getName, getDoB, getSalary, getEdit, getDelete ]) //最后循环的打印在peoplebody里面;}//读function readPerson(id) { Demo.getPerson(fillForm, id);//读完之后调用fillForm方法,就事把参数传过去.}//删function deletePerson(personid, name) { if (confirm("Are you sure you want to delete " + name + "?")) { Demo.deletePerson(update, { id:personid });//调用删除方法; }}//写function writePerson() { DWRUtil.getValues(person);//通过这个方法,将html中id=person对象值打包成一个数组对象放到person里面; Demo.addPerson(update, person); //调用方法传person对象,完成后调用update方法;}//person 对象var person = { id:-1, name:null, address:null, salary:null };//清空;function clearPerson() { person = { id:-1, name:null, address:null, salary:null }; DWRUtil.setValues(person); //就是赋值;}//填充对象;和上面一样;function fillForm(aperson) { person = aperson; DWRUtil.setValues(person);}//仿照gmail每次都在右上角加一个 loading 的图标,表示加载中,你也可以该这个,在官方网页上有写好的东西;//http://getahead.ltd.uk/dwr/browser/util/useloadingmessagefunction init() { DWRUtil.useLoadingMessage(); update();}//系统每次都自动调用该方法;callOnLoad(init);</script>-------------------------------------------------------------------HTML : 列表-显示数据的地方;<table border="1" class="rowed"><thead><tr><th>Name</th><th>Address</th><th>Salary</th><th colspan="2">Actions</th></tr></thead> <tbody id="peoplebody"></tbody></table><td>ID:</td><td><span id="id">-1</span></td></tr><tr>输入框-添加修改数据的地方;<td>Name:</td><td><input id="name" type="text"/></td></tr><tr><td>Salary:</td><td><input id="salary" type="text"/></td></tr><tr><td>Address:</td><td><input type="text" id="address"/></td></tr>操作<td colspan="2" align="right"><input type="button" value="Save" onclick="writePerson()"/><input type="button" value="Clear" onclick="clearPerson()"/></td> 好了,总算入门了,之后就好好他提供的api吧.不过感觉这个有点违背mvc的框架;(


阅读全文(6870) | 回复(2) | 编辑 | 精华
 


回复:DWR 2.0 入门扩充
软件技术,  电脑与网络

dsds(游客)发表评论于2008/3/1 15:05:41

之前必须看过一篇关于dwr的入门文章,这里不讲配置;那篇没怎么讲大部分javascript的api,这里详细讲javascript的操作.java 类(很简单,理解就行了)---------------------------------------------------------------------public Collection getAllPeople(){return people.values();}public Person getPerson(int id){return (Person) people.get(new Integer(id));}public boolean deletePerson(Person toDelete){return people.remove(new Integer(toDelete.getId())) != null;}public void addPerson(Person toAdd){if (toAdd.getId() == -1){toAdd.setId(nextId++);}people.put(new Integer(toAdd.getId()), toAdd);}private static int nextId = 10;private Map people = new HashMap();---------------------------------------------------------------------脚本部分:<script type='text/javascript' src='/dwr-demo/dwr/interface/Demo.js'> </script> //在xml描述符里面定义的<script type='text/javascript' src='/dwr-demo/dwr/engine.js'> </script> // 系统的<script type='text/javascript' src='/dwr-demo/dwr/util.js'> </script> //系统的<script type='text/javascript'>//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<var getName = function(person) { return person.name };var getDoB = function(person) { return person.address }; // if we return to using dates, add .toLocaleDateString()var getSalary = function(person) { return person.salary };var getEdit = function(person) {return '<input type="button" value="Edit" onclick="readPerson('+person.id+')"/>';};var getDelete = function(person) {return '<input type="button" value="Delete" onclick="deletePerson('+person.id+', \''+person.name+'\')"/>';};//其实这里是这个意思://function getName(person){ // return person.name;//}//也可以写成这样://var cellFuncs = [// function(data) { return data; },// function(data) { return data.toUpperCase(); },// function(data) {// return "<input type='button' value='Test' onclick='alert(\"Hi\");'/>";// },// function(data) { return count++; }//];//输出的时候按照顺序输出;//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//更新列表的状态;function update() {Demo.getAllPeople(fillTable); 调用fillTable方法,把返回值传给fillTable(returnData)填充数据;}//填充数据;function fillTable(people) {DWRUtil.removeAllRows("peoplebody");//提供的方法,删除tbody对象里面的所有对象;//addRows 在官方文档里面有写具体介绍,大概说一下://for each member in array// for each function in cellfuncs// create cell from cellfunc(array[i])//看上面的代码就知道了,他把他当作array处理,每个元素还是个array,里面都是函数,通过在第三个参数里面的名字来调用依次调用.//所以注意第三个参数的顺序;DWRUtil.addRows("peoplebody", people, [ getName, getDoB, getSalary, getEdit, getDelete ])//最后循环的打印在peoplebody里面;}//读function readPerson(id) {Demo.getPerson(fillForm, id);//读完之后调用fillForm方法,就事把参数传过去.}//删function deletePerson(personid, name) {if (confirm("Are you sure you want to delete " + name + "?")) {Demo.deletePerson(update, { id:personid });//调用删除方法;}}//写function writePerson() {DWRUtil.getValues(person);//通过这个方法,将html中id=person对象值打包成一个数组对象放到person里面;Demo.addPerson(update, person); //调用方法传person对象,完成后调用update方法;}//person 对象var person = { id:-1, name:null, address:null, salary:null };//清空;function clearPerson() {person = { id:-1, name:null, address:null, salary:null };DWRUtil.setValues(person); //就是赋值;}//填充对象;和上面一样;function fillForm(aperson) {person = aperson;DWRUtil.setValues(person);}//仿照gmail每次都在右上角加一个 loading 的图标,表示加载中,你也可以该这个,在官方网页上有写好的东西;//http://getahead.ltd.uk/dwr/browser/util/useloadingmessagefunction init() {DWRUtil.useLoadingMessage();update();}//系统每次都自动调用该方法;callOnLoad(init);</script>-------------------------------------------------------------------HTML : 列表-显示数据的地方;<table border="1" class="rowed"><thead><tr><th>Name</th><th>Address</th><th>Salary</th><th colspan="2">Actions</th></tr></thead><tbody id="peoplebody"></tbody></table><td>ID:</td><td><span id="id">-1</span></td></tr><tr>输入框-添加修改数据的地方;<td>Name:</td><td><input id="name" type="text"/></td></tr><tr><td>Salary:</td><td><input id="salary" type="text"/></td></tr><tr><td>Address:</td><td><input type="text" id="address"/></td></tr>操作<td colspan="2" align="right"><input type="button" value="Save" onclick="writePerson()"/><input type="button" value="Clear" onclick="clearPerson()"/></td>好了,总算入门了,之后就好好他提供的api吧.不过感觉这个有点违背mvc的框架;(


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:DWR 2.0 入门扩充
软件技术,  电脑与网络

AAA(游客)发表评论于2007/5/10 17:56:15

callOnLoad(init); --这行总提示缺少对象。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144756160 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号