表單序列化以及后台表單數據參數的提取


(該資料是樓主復習時所用,很淺顯,如果有哪些地方不正確,歡迎大家留言指出)

提交表單的時候,一個表單可能會有多個參數,為了將這些參數傳到后台,有兩種方法:

(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("注冊失敗,請刷新頁面后重試"); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM