转载:日志来源:
http://jkluooop.blogjava.net/
感谢本文的作者
dwr封装form表单项,需要用到dwr定义的一个js方法:DWRUtil.getValues(yourform),
这个方法可以返回一个指定form中的表单项的名称和值
的map对象。
例如:
<form name="myform">
<input type="text" name="userName" id="userName"/>
<input type="password" name="passWord" name="passWord"/>
</form>
那么DWRUtil.getValues("myform")将返回该form中的表单项的一个map对象。就不需要再写document.myform.username.value这样的语句了。
我们可以通过dwr将这个自动封装好的表单对象返传给服务器端相关方法进行操作。如果需要的话,还可以在服务器端定义好对应的formbean来接收这个表单map。
下面具体操作:
1.配置好dwr运行环境。略~
2.写一个formbean来接收表单,必须有对应的set、get方法:
package dwr.test;
public class FormBean {
private String userName;
private String passWord;
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
3再写一个类来处理客户端发来的ajax请求:
package dwr.test;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
public class Service {
public FormBean getFormBean(Map formMap){
FormBean formBean = new FormBean();
try{
BeanUtils.populate(formBean, formMap);
}catch(Exception e){
e.printStackTrace();
}
System.out.println("==============客户端传来的信息==============");
System.out.println("FormBean.username:"+formBean.getUserName());
System.out.println("FormBean.password:"+formBean.getPassWord());
System.out.println("=========================================");
return formBean;
}
}
其中用到的BeanUtils.populate(formBean, formMap)
方法可以将formMap内的对象复制给formBean对象的属性。
BeanUtils类在struts库所带的包commons-beanutils.jar中。这样,来自客户端的表单项的值就被封装到服务器端的formBean中了,之后,操
作formBean就可以了。为了证实结果,用return formBean把封装后的表单内容返回到客户端。
4.在dwr.xml中注册相关的类及方法。
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"
http://www.getahead.ltd.uk/dwr/dwr10.dtd
">
<dwr>
<allow>
<convert converter="bean" match="dwr.test.FormBean"/>
<create creator="new" javascript="Service">
<param name="class" value="dwr.test.Service"/>
<include method="getFormBean"/>
</create>
</allow>
</dwr>
注册FormBean是让客户端能够识别服务端返回的FormBean型数据
5.编写测试页面:test.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<script src='./dwr/interface/Service.js'></script>
<script src='./dwr/engine.js'></script>
<script src='./dwr/util.js'></script>
<script>
function formsubmit(){
var formMap = DWRUtil.getValues("testform");
alert("客户端读取到的表单项:\nuserName:"+formMap["userName"]+"\npassWord:"+formMap["passWord"]);
Service.getFormBean(result,formMap);
}
function result(data)
{
alert("从服务端返回的数据:\nuserName:"+data.userName+"\npassWord:"+data.userName);
}
</script>
<body>
<form name="testform">
userName:<input id="userName
" name="userName" type="text"/><br/>
passWord:<input id="passWord
" name="passWord" type="password" /><br/>
</form>
<input type="button" value="submit" onClick="formsubmit()"/>
</body>
</html>
注意:表单中的表单项的id的大小写必须和FormBean中定义的一致
分享到:
相关推荐
NULL 博文链接:https://fireinjava.iteye.com/blog/458257
DWR数据推送封装了页面多种推送的数据类型,对推送的消息进行封装。
DWR电子表单DWR电子表单
DWR集合Spring实现异步提交,值得下载的内容; 使用Strut 1.2,Hibernate 3.0,Spring 2.5 jar包自己导入
讲解DWR 框架的使用,和各种form表单Select-option,table
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架
dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;
DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册
dwr的具体的用法配置和解析,dwr封装了ajax代码写在后台java代码中可以经过配置来调用。
DWR中文文档DWR中文文档DWR中文文档DWR中文文档DWR中文文档
dwr源码
dwr笔记 dwr自学资料 dwr笔记 dwr自学资料 dwr笔记 dwr自学资料
dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档
使用DWR开发AJAX For J2EE
一个很好用的ajax封装包,只需要简单配置一个dwr.xml和配置下web.xml就可以简单实用ajax
DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤
DWR介绍DWR介绍DWR介绍DWR介绍DWR介绍DWR介绍
Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr...
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并...本次例子只是用于演示,说明DWR的使用,类设计并不是最优的