dwr学习(二):提交简单的表单数据

注:这个实例只提交简单的数据,如基本数据类型。

1、基本页面结构:

<body>
	提交表单数据:
	<form name="dwrForm"> 
		<p>用户名:<input type="text" name="userName"/></p> 
		<p>密码:<input type="password" name="passWord"/></p> 
		<p>年龄: <input type="text" name="age"/></p>
		<p>生日: <input type="text" name="birthday"/></p> 
		<input type="button" value="提交" οnclick="submitFormData();" />
	</form> 
 </body>

2、dwr配置:

<convert converter="bean" match="com.wjl.test.SUser" ></convert>
<create creator="new" javascript="Service">
	<param name="class" value="com.wjl.test.Services" />
	<include method="getUser"/>
</create>

3、调用js与后台进行交互:

function submitFormData(){
	//1、获取表单数据
	var formMap = dwr.util.getValues("dwrForm"); 
	//alert(formMap);
       alert("客户端读取到的表单项:\n用户名:"+formMap["userName"]+"\n密码:"+formMap["passWord"]+"\n年龄:"+formMap["age"]+"\n生日:"+formMap["birthday"]);
       
       //2、传递到后台
       Service.getUser(formMap,function(result){
       	alert("从服务端返回的数据:\n用户名:"+result.userName+"\n密码:"+result.passWord+"\n年龄:"+result.age+"\n生日:"+result.birthday); 
       });
}

4、后台数据处理:

user实体类:

public class SUser {
	private String userName; 
	private String passWord;
	private int age;
	private String birthday;
	
	//getter、setter方法
}

services类:

import java.util.Map;
import com.sun.org.apache.commons.beanutils.BeanUtils;
public class Services {
	public SUser getUser(Map formMap){
		 SUser user = new SUser(); 
		  try{ 
		   BeanUtils.populate(user, formMap); 
		  }catch(Exception e){ 
		   e.printStackTrace(); 
		  } 
		  System.out.println("==============客户端传来的信息=============="); 
		  System.out.println("FormBean.username:"+user.getUserName()); 
		  System.out.println("FormBean.password:"+user.getPassWord()); 
		  System.out.println("FormBean.age:"+user.getAge()); 
		  System.out.println("FormBean.birthday:"+user.getBirthday()); 
		  System.out.println("========================================="); 
		  return user; 
	}
}

PS:为什么只是简单的 数据类型,因为复杂的数据会报错。

如最开始的设想,将birthday属性设置为Date类型,提交数据也严格遵守时间格式,结果报错:

java.lang.IllegalArgumentException: argument type mismatch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值