框架:HTTP请求的表单提交的几种方式
其实就是三种:
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]纯form表单形式,无js和ajax ,提交路径有action决定,方 ...
- Form 表单提交的几种方式
简单的总结一下form表单提交的几种方式: 1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的 这种方式最近到一个form提供action路径后台接受就可以 & ...
- python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式
本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...
- 防止form表单提交的几种方式
1. 背景介绍 在开发项目中肯可能会出现如下情况: 1. 用户的失误操作,多次点击表单提交按钮 2. 由于网速等原因造成页面卡顿,用户重复刷新提交页面 3. 黑客或恶意用户使用postman等工具重复 ...
- onsubmit阻止表单提交的一种方式
最近做移动开发,一下从后台转移到前端了,之前写了一年的java代码,现在天天搞jQ css html ,肯定有点不习惯,不过现在已经适应了,写页面还是挺好玩的. 言归正传,今天遇到的就是怎么阻止表单 ...
- python表单提交的两种方式_详解flask表单提交的两种方式
一.通用方式 通用方式就是使用ajax或者$.post来提交. 前端html ... data Submit   将操作绑定 $(document).ready(function() ...
- php表单传值哪几种方式,PHP表单传值的方式有哪些?
本篇文章主要给大家介绍PHP表单传值的两种方式,一种是通过$_GET变量 .另一种是通过$_POST变量.(相关推荐:<PHP教程>) 下面我们就结合具体的PHP代码示例给大家介绍,PHP ...
- SSM框架下实现form表单提交的方式
实现form表单的提交有多种方式,这里我们主要讲两种常用的. 注:此Demo是在SSM框架下完成的,数据库采用MySQL,关于ssm整合的相关知识,这里不做过多赘述.主要展示表单提交方式,暂不考虑代码 ...
- ajax异步请求——form表单提交 及 表单序列化提交
ajax异步请求 AJAX介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方 ...
最新文章
- BZOJ 4025 二分图
- NUnit2.0详细使用方法
- Js_学无止境之延迟加载
- Wince程序内存和存储内存
- 1个价值80亿美元的iPod
- 工作166:错误的处理方式
- 高精除(信息学奥赛一本通-T1308)
- 企业如何才能选到最好的邮件系统合作伙伴?
- c++以空格分开的输入数组_技术贴,MATLAB矩阵与数组汇总讲解!
- python如何统计累计每日的人数‘’_每日一练 | Data Scientist amp; Business Analyst amp; Leetcode 面试题 902...
- 赣南师范大学科技学院计算机科学与技术,2021江西独立学院转设最新消息(新增两所):赣南师范大学科技学院转设公办?...
- 尴尬的风险管理如何深入下去-某公司为例
- Spring Boot 知识笔记(集成zookeeper)
- python arp 网关_python arp欺骗伪造网关代码
- VoLTE 信令分析手册
- CodeForces比赛规则
- 福昕阅读器无法添加书签
- 钣金缺口lisp_钣金件的编程展开及切割系统
- CSDN知识库构建,我以我血荐轩辕
- 国产智多晶FPGA 带Cortex-M3硬核CPU的FPGA器件简介
热门文章
- 使用VS2015远程GDB调试
- 创建Unicode格式的INI文件
- 读书-算法《程序设计导引及在线实践》-简单计算题5:装箱问题
- 第七:不要表现得消极,仅仅因为你所做的事情不是你的兴趣所在
- JavaScript - JavaScript自定义弹出对话框
- etcd工作原理和CentOS 7部署指南
- GPAC MP4文件写入(支持H264、H265)
- h.264编码库x264实例
- [虚拟机] VMware 15 + CentOS 7.7/8.0在主机和客户机之间拷贝文件失败的解决办法
- 基于C++有限状态机的实现技术