前台到后台的流程:前台jsp->后台:controller控制器层->service业务层->DAO数据访问层->数据库model模型层。

从上面流程可知,前台jsp的数据,想要参与到后台的业务逻辑运算,关键是要先把前台jsp的数据传递到后台的controller。这个关键点涉及到一个术语——“绑定参数”(或称“绑定数据”),即如何将前台jsp中的数据绑定为后台controller类里方法的参数。

在SpringMVC中,“绑定参数”这个过程,需要前台jsp和后台controller来配合完成:

1、前台jsp需要做的:提供表单域(如:输入框<input type="text" name="userName">、下拉框<select name="province">、单选框<input type="radio" name="sex">、复选框<input type="checkbox" name="hobbies">),用来保存用户输入的多个数据,这类页面标签元素务必加上name属性,表明将这个数据以这个名字set为request的参数(request.setParameter("userName",用户输入的用户名);),全部封装到request里,然后发送request给后台的controller;

2、后台controller需要做的:controller接收到request后,自动通过getRequest.getParameter("userName")、request.getParameter("sex")...取出多个request参数,那如何知道哪个request参数对应controller类里方法的哪个参数?有两种方法:1.要么把controller类里方法的参数名设为jsp页面的表单域的name一样;2.要么用注解@RequestPam来指定:controller类里方法的每个参数前面,加上注解@RequestParam(value="userName",required=false)。

以上两步做完,就成功完成了“绑定参数”——将前台jsp的数据,传递到后台的controller。

SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解的更多相关文章

  1. 【Qt】信号和槽对值传递参数和引用传递参数的总结

    在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...

  2. Android中mesure过程详解

    我们在编写layout的xml文件时会碰到layout_width和layout_height两个属性,对于这两个属性我们有三种选择:赋值成具体的数值,match_parent或者wrap_conte ...

  3. mysql中SQL执行过程详解与用于预处理语句的SQL语法

    mysql中SQL执行过程详解 客户端发送一条查询给服务器: 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果.否则进入下一阶段. 服务器段进行SQL解析.预处理,在优化器生成对应的 ...

  4. php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)

    php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...

  5. 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解

    第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一.    引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...

  6. jsp中利用response.senddirect(str)重定向,传递参数新思路

    用Servlet进行请求重定向,参数传递好办,直接用request.setAttribute(str1,str2); 但是如果不用Servlet 而是直接用jsp进行转发呢? 我们首先要知道   请求 ...

  7. SpringMVC由浅入深day01_12参数绑定(12.1参数绑定过程_12.2默认支持的类型_12.3简单类型)

    12 参数绑定 处理器适配器在执行Handler之前需要把http请求的key/value数据绑定到Handler方法形参数上. 注解适配器对RequestMapping标记的方法进行适配,对方法中的 ...

  8. SpringMVC中@RequestBody接收前端传来的多个参数

    在使用ajax发送请求时,如果发送的JSON数据是一个类中的不同属性,在Controller方法中使用@RequestBody会直接封装进该类中 例如: 前端部分代码 JavaScript <s ...

  9. SpringMVC:前台jsp页面和后台传值

    前台jsp页面和后台传值的几种方式: 不用SpringMVC自带的标签 前台---->后台,通过表单传递数据(): 1.jsp页面代码如下,  modelattribute 有没有都行 < ...

随机推荐

  1. kallsyms

    kallsyms 在v2.6.0的内核中,为了更好地调试内核,引入新的功能kallsyms.kallsyms把内核用到的所有函数地址和名称连接进内核文件,当内核启动后,同时加载到内存中.

  2. C++之PIMPL模式

    1 PIMPL解释 PIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏. ...

  3. AtCoder Grand Contest 012 C:Tautonym Puzzle

    题目传送门:https://agc012.contest.atcoder.jp/tasks/agc012_c 题目翻译 如果一个字符串是好的,那么这个字符串的前半部分和后半部分肯定一模一样.比如\(a ...

  4. 纯css 图片自适应居中

    html 结构 <div class="container"> <div class="content"></div> &l ...

  5. UVa 242 Stamps and Envelope Size (无限背包,DP)

    题意:信封上最多贴S张邮票.有N个邮票集合,每个集合有不同的面值.问哪个集合的最大连续邮资最 大,输出最大连续邮资和集合元素. 最大连续邮资是用S张以内邮票面值凑1,2,3...到n+1凑不出来了,最 ...

  6. c# 调用 webservices (转载)

    .net 调用webservice 总结 最近做一个项目,由于是在别人框架里开发app,导致了很多限制,其中一个就是不能直接引用webservice . 我们都知道,调用webserivice 最简单 ...

  7. E20180519-hm

    distinct adj. 明显的,清楚的; 卓越的,不寻常的; 有区别的; 确切的;

  8. UICollctionView 刷新 item 刷新 消失

    在需要局部刷新的时候,可能出现的问题: 当时采用的局部刷新,第一次刷新没问题,当多次刷新的时候 item 就会消失 NSIndexSet *]; [collectionView reloadSecti ...

  9. now code寒假练习赛2——处女座的砝码(找规律题+高精度题)

    #include <bits/stdc++.h> #define ll long long using namespace std; int main() { long double n ...

  10. hexo新建md文档推送到blog出错

    1. git错误提示 $ hexo g INFO Start processing FATAL Something's wrong. Maybe you can find the solution h ...