其实就是三种:

1.  直接把表单的参数写在Controller相应的方法的形参中

2.  通过HttpServletRequest接收

3.  通过一个bean来接收(JSON转bean)就是我的项目中使用的方法

先创建一个LoginForm

然后通过getter方法获取对象中的属性数据


详解

1.前台主要代码

[html] view plain copy

1.  <form>

2.          <table>

3.              <tr>

4.                  <td>账号</td>

5.                  <td>

6.                      <input type="text" name="userName">

7.                  </td>

8.              </tr>

9.              <tr>

10.                 <td>密码</td>

11.                 <td>

12.                     <input type="password" name="password">

13.                 </td>

14.             </tr>

15.             <tr>

16.                 <td> </td>

17.                 <td>

18.                     <input type="button" value="提交" οnclick="addUser()">

19.                 </td>

20.             </tr>

21.         </table>

22.     </form>

2. 接收方式1------直接把表单的参数写在Controller相应的方法的形参中

[html] view plain copy

1.  @RequestMapping("/addUser1")

2.      public String addUser1(String userName,String password) {

3.          System.out.println("userName is:"+userName);

4.          System.out.println("password is:"+password);

5.          return "/user/success";

6.      }

3.接收方式2-----通过HttpServletRequest接收

[html] view plain copy

1.  @RequestMapping("/addUser2")

2.      public String addUser2(HttpServletRequest request) {

3.          String userName = request.getParameter("userName");

4.          String password = request.getParameter("password");

5.          System.out.println("userName is:"+userName);

6.          System.out.println("password is:"+password);

7.          return "/user/success";

8.      }

4. 通过一个bean来接收

(1)建立一个和表单参数对应的bean

[html] view plain copy

1.  public class User {

2.

3.      private String userName;

4.

5.      private String password;

6.

7.      public String getUserName() {

8.          return userName;

9.      }

10.

11.     public void setUserName(String userName) {

12.         this.userName = userName;

13.     }

14.

15.     public String getPassword() {

16.         return password;

17.     }

18.

19.     public void setPassword(String password) {

20.         this.password = password;

21.     }

22. }

2)通过这个bean来封装接收的参数

[java] view plain copy

1.  @RequestMapping("/addUser3")

2.      public String addUser3(User user) {

3.          System.out.println("userName is:"+user.getUserName());

4.          System.out.println("password is:"+user.getPassword());

5.          return "/user/success";

6.      }

5. 通过json 数据来接收参数

[html] view plain copy

1.  <%@ page language="java" contentType="text/html; charset=UTF-8"

2.      pageEncoding="UTF-8"%>

3.  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

4.  <html>

5.  <head>

6.  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

7.  <title>Add User</title>

8.

9.  <script type="text/javascript" src="${pageContext.request.contextPath}/resource/script/jquery-1.9.1.min.js"></script>

10. <script type="text/javascript">

11.     $(document).ready(function(){

12.         $("#button_submit").click(function(){

13.             var name = $("#userName").val();

14.             var pass = $("#password").val();

15.

16.

17.             var user = {userName:name,password:pass};//拼装成json格式

18.

19.             $.ajax({

20.                 type:"POST",

21.                 url:"${pageContext.request.contextPath}/user/addUser4",

22.                 data:user,

23.                 success:function(data){

24.                     alert("成功");

25.                 },

26.                 error:function(e) {

27.                     alert("出错:"+e);

28.                 }

29.             });

30.         });

31.     });

32. </script>

33.

34. </head>

35. <body>

36.     <form>

37.         <table>

38.             <tr>

39.                 <td>账号</td>

40.                 <td>

41.                     <input type="text" id="userName" name="userName">

42.                 </td>

43.             </tr>

44.             <tr>

45.                 <td>密码</td>

46.                 <td>

47.                     <input type="password" id="password" name="password">

48.                 </td>

49.             </tr>

50.             <tr>

51.                 <td> </td>

52.                 <td>

53.                     <input type="button" id="button_submit" value="提交">

54.                 </td>

55.             </tr>

56.         </table>

57.     </form>

58. </body>

59. </html>

依然可以用Bean来接收json数据

[html] view plain copy

1.  @RequestMapping("/addUser4")

2.      public String addUser4(User user) {

3.          System.out.println("userName is:"+user.getUserName());

4.          System.out.println("password is:"+user.getPassword());

5.          return "/user/success";

6.      }

6、 使用jQuery的serializeArray()方法序列化表单元素

如果表单元素很多,手工拼装成Json数据很麻烦,可以使用JQuery提供的SerializeArray()方法序列化表单元素,返回Json数据结构数据。

[html] view plain copy

1.  <%@ page language="java" contentType="text/html; charset=UTF-8"

2.      pageEncoding="UTF-8"%>

3.  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

4.  <html>

5.  <head>

6.  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

7.  <title>Add User</title>

8.

9.  <script type="text/javascript" src="${pageContext.request.contextPath}/resource/script/jquery-1.9.1.min.js"></script>

10. <script type="text/javascript">

11.     $(document).ready(function(){

12.         $("#button_submit").click(function(){

13.

14.             //序列化表单元素,返回json数据

15.             var params = $("#userForm").serializeArray();

16.

17.             //也可以把表单之外的元素按照name value的格式存进来

18.             //params.push({name:"hello",value:"man"});

19.

20.             $.ajax({

21.                 type:"POST",

22.                 url:"${pageContext.request.contextPath}/user/addUser5",

23.                 data:params,

24.                 success:function(data){

25.                     alert("成功");

26.                 },

27.                 error:function(e) {

28.                     alert("出错:"+e);

29.                 }

30.             });

31.         });

32.     });

33. </script>

34.

35. </head>

36. <body>

37.     <form id="userForm">

38.         <table>

39.             <tr>

40.                 <td>账号</td>

41.                 <td>

42.                     <input type="text" id="userName" name="userName">

43.                 </td>

44.             </tr>

45.             <tr>

46.                 <td>密码</td>

47.                 <td>

48.                     <input type="password" id="password" name="password">

49.                 </td>

50.             </tr>

51.             <tr>

52.                 <td> </td>

53.                 <td>

54.                     <input type="button" id="button_submit" value="提交">

55.                 </td>

56.             </tr>

57.         </table>

58.     </form>

59. </body>

60. </html>

依然可以使用bean来接收json数据

[java] view plain copy

1.  @RequestMapping("/addUser5")

2.      public String addUser5(User user) {

3.          System.out.println("userName is:"+user.getUserName());

4.          System.out.println("password is:"+user.getPassword());

5.          return "/user/success";

框架:HTTP请求的表单提交的几种方式相关推荐

  1. 自我总结和学习表单提交的几种方式 (一)

    最近总是记不住表单提交的几种方式,并且各种方式的适应场景也不知道,干脆来总结一次,当再学习过程. 首先从最简单的开始练手: [1]纯form表单形式,无js和ajax ,提交路径有action决定,方 ...

  2. Form 表单提交的几种方式

    简单的总结一下form表单提交的几种方式: 1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的    这种方式最近到一个form提供action路径后台接受就可以 & ...

  3. python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式

    本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...

  4. 防止form表单提交的几种方式

    1. 背景介绍 在开发项目中肯可能会出现如下情况: 1. 用户的失误操作,多次点击表单提交按钮 2. 由于网速等原因造成页面卡顿,用户重复刷新提交页面 3. 黑客或恶意用户使用postman等工具重复 ...

  5. onsubmit阻止表单提交的一种方式

    最近做移动开发,一下从后台转移到前端了,之前写了一年的java代码,现在天天搞jQ  css html ,肯定有点不习惯,不过现在已经适应了,写页面还是挺好玩的. 言归正传,今天遇到的就是怎么阻止表单 ...

  6. python表单提交的两种方式_详解flask表单提交的两种方式

    一.通用方式 通用方式就是使用ajax或者$.post来提交. 前端html ... data Submit &nbsp 将操作绑定 $(document).ready(function() ...

  7. php表单传值哪几种方式,PHP表单传值的方式有哪些?

    本篇文章主要给大家介绍PHP表单传值的两种方式,一种是通过$_GET变量 .另一种是通过$_POST变量.(相关推荐:<PHP教程>) 下面我们就结合具体的PHP代码示例给大家介绍,PHP ...

  8. SSM框架下实现form表单提交的方式

    实现form表单的提交有多种方式,这里我们主要讲两种常用的. 注:此Demo是在SSM框架下完成的,数据库采用MySQL,关于ssm整合的相关知识,这里不做过多赘述.主要展示表单提交方式,暂不考虑代码 ...

  9. ajax异步请求——form表单提交 及 表单序列化提交

    ajax异步请求 AJAX介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方 ...

最新文章

  1. BZOJ 4025 二分图
  2. NUnit2.0详细使用方法
  3. Js_学无止境之延迟加载
  4. Wince程序内存和存储内存
  5. 1个价值80亿美元的iPod
  6. 工作166:错误的处理方式
  7. 高精除(信息学奥赛一本通-T1308)
  8. 企业如何才能选到最好的邮件系统合作伙伴?
  9. c++以空格分开的输入数组_技术贴,MATLAB矩阵与数组汇总讲解!
  10. python如何统计累计每日的人数‘’_每日一练 | Data Scientist amp; Business Analyst amp; Leetcode 面试题 902...
  11. 赣南师范大学科技学院计算机科学与技术,2021江西独立学院转设最新消息(新增两所):赣南师范大学科技学院转设公办?...
  12. 尴尬的风险管理如何深入下去-某公司为例
  13. Spring Boot 知识笔记(集成zookeeper)
  14. python arp 网关_python arp欺骗伪造网关代码
  15. VoLTE 信令分析手册
  16. CodeForces比赛规则
  17. 福昕阅读器无法添加书签
  18. 钣金缺口lisp_钣金件的编程展开及切割系统
  19. CSDN知识库构建,我以我血荐轩辕
  20. 国产智多晶FPGA 带Cortex-M3硬核CPU的FPGA器件简介

热门文章

  1. 使用VS2015远程GDB调试
  2. 创建Unicode格式的INI文件
  3. 读书-算法《程序设计导引及在线实践》-简单计算题5:装箱问题
  4. 第七:不要表现得消极,仅仅因为你所做的事情不是你的兴趣所在
  5. JavaScript - JavaScript自定义弹出对话框
  6. etcd工作原理和CentOS 7部署指南
  7. GPAC MP4文件写入(支持H264、H265)
  8. h.264编码库x264实例
  9. [虚拟机] VMware 15 + CentOS 7.7/8.0在主机和客户机之间拷贝文件失败的解决办法
  10. 基于C++有限状态机的实现技术