一、映射URL绑定的占位符到方法参数

1.方法

使用@PathVariable注解

2.代码示例

a.接收请求方法

@RequestMapping(value = "/deleteInfo/{id}")
public String deleteInfo(@PathVariable("id") int shopCartId) {
return "删除成功";
}

b.发出请求

<a href="../shopCart/deleteInfo/1"></a>

二、绑定请求中的参数到方法参数

1.方法

使用@RequestParam注解

2.代码示例

a.接收请求方法

@RequestMapping(value = "/changeAmount")
public String changeAmount(@RequestParam(value = "amount") String amount,
@RequestParam(value = "shopCartId") String shopCartId) {
  return "修改成功";
}

b.发出请求

<a href="../shopCart/changeAmount?amount=3&shopCartId=10"></a>

三、绑定表单对象到方法参数(实例对象)

1.方法

创建表单发送请求

2.代码示例

a.接收请求方法

@RequestMapping("/saveInfo")
public String saveInfo(Book book){
return "保存成功";
}

b.发出请求

<form action="../shopCart/saveInfo" method="post">
BookName:<input type="text" name="bookName"><br>
BookId:<input type="password" name="bookId"><br>
sellerId:<input type="text" name="seller.sellerId"><br>
sellerName:<input type="text" name="seller.sellerName"><br>
<input type="submit" value="提交">
</form>

c.Book.java

public class Book{
  private int bookId;
  private String bookName;
  private Seller seller;
  // 省略getter和setter方法
}

d.Seller.java

public class Seller{
  private int sellerId;
  private String sellerName;
  // 省略getter和setter方法
}

四、绑定表单对象到方法参数(Map对象)

1.方法

创建表单发送请求

2.代码示例

a.接收请求方法

@RequestMapping("/getUser")
public String getUser(UserMap uMap) {
Set set=uMap.getuMap().keySet();
Iterator iterator=set.iterator();
while(iterator.hasNext()) {
Object keyName=iterator.next();
User u=uMap.getuMap().get(keyName);
System.out.println(u);
}
return "success";
}

b.发出请求

<form action="../user/getUser" method="post">
loginName1:<input type="text" name="uMap['u1'].loginName"><br>
loginPwd1:<input type="password" name="uMap['u1'].loginPwd"><br>
province1:<input type="text" name="uMap['u1'].address.province"><br>
city1:<input type="text" name="uMap['u1'].address.city"><br>
loginName2:<input type="text" name="uMap['u2'].loginName"><br>
loginPwd2:<input type="password" name="uMap['u2'].loginPwd"><br>
province2:<input type="text" name="uMap['u2'].address.province"><br>
city2:<input type="text" name="uMap['u2'].address.city"><br>
<input type="submit" value="提交">
</form>

c.UserMap.java

public class UserMap {
private Map<String, User> uMap; public Map<String, User> getuMap() {
return uMap;
} public void setuMap(Map<String, User> uMap) {
this.uMap = uMap;
}
}

将前端请求中的数据绑定到Spring MVC响应方法中参数的四种方法的更多相关文章

  1. C#中方法的参数的四种类型

    C#中方法的参数有四种类型:       1. 值参数类型  (不加任何修饰符,是默认的类型)       2. 引用型参数  (以ref 修饰符声明)       3. 输出型参数  (以out 修 ...

  2. Spring MVC 了解WebApplicationContext中特殊的bean类型

    Spring MVC 了解WebApplicationContext中特殊的bean类型 Spring的DispatcherServlet使用了特殊的bean来处理请求.渲染视图等,这些特定的bean ...

  3. spring mvc在Controller中获取ApplicationContext

    spring mvc在Controller中获取ApplicationContext web.xml中进行正常的beans.xml和spring-mvc.xml的配置: 需要在beans.xml中进行 ...

  4. Spring MVC 使用tomcat中配置的数据源

    Spring MVC 使用tomcat中配置的数据源 配置tomcat数据源 打开tomcat目录下的conf目录,编辑sever.xml目录.在<GlobalNamingResources&g ...

  5. 使用Spring Security3的四种方法概述

    使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过, ...

  6. IOS中Json解析的四种方法

    作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验 ...

  7. 【springmvc Request】 springmvc请求接收参数的几种方法

    通过@PathVariabl注解获取路径中传递参数 转载请注明出处:springmvc请求接收参数的几种方法 代码下载地址:http://www.zuida@ima@com/share/1751862 ...

  8. 在Action类中获得HttpServletResponse对象的四种方法

    在struts1.xAction类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得Ht ...

  9. 获取spring容器上下文(webApplicationContext)的几种方法

    在很多情况,我们需要先获取spring容器上下文,即webApplicationContext,然后通过webApplicationContext来获取其中的bean.典型的情况是,我想在一个并未委托 ...

随机推荐

  1. [hdu5379]Mahjong tree

    一棵子树的每一个儿子相当于划分一个区间,同时这些区间一定要存在一个点连续(直接的儿子),因此每一棵树最多只有两个儿子存在子树,并且这两个儿子所分到的区间一定是该区间最左和最右两段,所以ans*=(so ...

  2. [bzoj1222]产品加工

    用f[i][j]表示完成前i个任务,在A机器上加工j小时时B机器上最少要工作多小时,转移就分为三种,即$f[i][j]=min(f[i-1][j-t1],f[i-1][j]+t2,f[i-t3]+t3 ...

  3. idea提交代码好习惯-代码格式化

    提交代码的时候,勾选这个可以格式化提交的代码,非常好! reformat code

  4. 互联网java面试宝典

    1.为什么使用消息队列啊? 答题: 消息队列的核心功能就是:解耦合,异步,流量削峰解耦:接口调用发送,那如果E系统也要这个数据呢?那如果C系统现在不需要了呢?现在A系统又要发送第二种数据了呢?A系统负 ...

  5. ES6学习 第五章 正则的扩展

    前言 本章介绍正则的扩展.有些不常用的知识了解即可. 本章原文链接:正则的扩展 RegExp 构造函数 从 ES6 开始,如果RegExp构造函数第一个参数是一个正则对象,并且第二个标志存在且为标志参 ...

  6. python 内置模块续(二)

    目录 python 内置模块补充 1.hashlib模块 简易使用: 高级使用: 进阶使用: 加盐处理: 校验文件一致性 2.logging日志模块 日志等级 常用处理 "四大天王" ...

  7. [NOI 2014]起床困难综合症[二进制]

    背景 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找到了该病的发病原因 ...

  8. Atcoder Regular Contest 092 D - Two Faced Edges(图论+bitset 优化)

    Atcoder 题面传送门 & 洛谷题面传送门 orz ymx,ymx ddw %%% 首先既然题目要我们判断强连通分量个数是否改变,我们首先就将原图 SCC 缩个点呗,缩完点后我们很自然地将 ...

  9. Redis list操作命令

    rpop命令 用于移除列表的最后一个元素,返回值为移除的元素.当列表不存在时,返回nil. 基本语法: rpop key_name LPOP:移除并返回列表第一个元素 RPOP:移除并返回列表最后一个 ...

  10. Redis——面试官考题

    总结: 本文在一次面试的过程中讲述了 Redis 是什么,Redis 的特点和功能,Redis 缓存的使用,Redis 为什么能这么快,Redis 缓存的淘汰策略,持久化的两种方式,Redis 高可用 ...