表单序列化以及后台表单数据参数的提取

Posted linsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表单序列化以及后台表单数据参数的提取相关的知识,希望对你有一定的参考价值。

(该资料是楼主复习时所用,很浅显,如果有哪些地方不正确,欢迎大家留言指出)

提交表单的时候,一个表单可能会有多个参数,为了将这些参数传到后台,有两种方法:

(1)通过表单id一个一个地将表单输入栏的value值取出,然后通过key:value的形式传到后台,在后台用requeset.getparameter(key),

当表单参数很多时,传入的过程很麻烦,传到后台后,对相应对象赋值也极为麻烦

(2)将表单整个序列化,打包成一个拥有多个key:value的集合,在后台用request.getparametermap()获取map集合

  当表单参数过多时,使用表单序列化更为方便。

表单序列化的代码如下:

   //通过表单的id用id选择器将表单序列化,并经由ajax传至后台
1
var formData = $("#registerForm").serialize(); 2 $.post("/userServlet?methodName=register", formData, function (result) { 3 alert("大帅哥") 4 console.log(result) 5 6 }, "json")

后台取出参数,并对相应对象进行赋值,代码如下:

  //用map集合接收前台传递的参数
  Map<String, String[]> map = request.getParameterMap();
  //获取表单中特定的参数也可以根据表单中对应输入框的id进行取值
  String check = request.getParameter("check");
User user =new User();
ResultInfo resultInfo =new ResultInfo();
try { //用beanutils.utils直接对相应对象进行赋值,会有报错,try catch或者throw掉 BeanUtils.populate(user, map); } catch (Exception e) { resultInfo.setFlag(false); resultInfo.setErrorMsg("注册失败,请刷新页面后重试"); }

 




以上是关于表单序列化以及后台表单数据参数的提取的主要内容,如果未能解决你的问题,请参考以下文章

jquery序列化表单以及回调函数的使用

jQuery序列化表单

form表单传递数组到后台之后,后台怎么提取这个数组里面的值进行判断?

Javaweb接收表单数据以及中文乱码处理

select的disabled形式的数据,使用表单序列化方式无法将数据传到后台

form表单提交后,后台怎么处理数据