博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10.SpringMVC注解式开发-处理器方法的参数
阅读量:6962 次
发布时间:2019-06-27

本文共 2658 字,大约阅读时间需要 8 分钟。

1.逐个参数接收

  只要保证请求参数名与该请求处理方法的参数名相同即可

1 // 请求参数名 与该处理器中的请求方法的参数名相同 ,即可接收前台传递过来的参数2     public ModelAndView method1(String username, int age) {

 

2.请求参数中文乱码问题

1 
2
3
characterEncodingFilter
4
5 org.springframework.web.filter.CharacterEncodingFilter 6
7
8
9
encoding
10
utf-8
11
12
13
14
forceEncoding
15
true
16
17

 

3.校正请求参数名@RequestParam

  所谓校正请求参数名,是指若请求URL所携带的参数名与处理方法中指定的参数名不相同时,

  则需在处理方法参数前,添加一个注解 @RequestParam("请求参数名"),指定请求URL所携带参数的名称

  该注解是对处理方法参数进行修饰的

  @RequestParam() 有三个属性

  value:指定请求参数的名称 

  required:指定该注解所修饰的参数是否是必须的

  defaultValue:指定当前参数的默认值

1 // 校正请求参数名 (前台传来的 参数名 和 这里 方法中的参数名 无法匹配,可以使用 这个注解 来映射一下 )2     @RequestMapping(value = "/requestParams.do")3     public ModelAndView method2(@RequestParam("username") String name, int age) {

 

  

4.整体参数接收

  将处理器方法的参数定义为一个对象,只要保证请求参数名与这个对象的属性一致即可

  参数名称中不用写成  对象.属性 的 形式(前台给的参数也不用写成 对象.属性)

 
1 username :
2 age :
1 @RequestMapping(value = "/objectParams.do") 2     public ModelAndView method3(Person person) { 3  4         System.out.println(person); 5         ModelAndView mv = new ModelAndView(); 6         mv.addObject("username", person.getUsername()); 7         mv.addObject("age",person.getAge()); 8         mv.setViewName("/WEB-INF/jsp/hello.jsp"); 9         return mv;10     }

 

5.域属性参数的接收

  所谓域属性,即对象属性。(该对象的某属性还是一个对象)

  当请求参数中的数据为某类对象域属性的属性值,要求请求参数名为 "域属性名.属性"

  

 
1 username :
2 age :
1 //域属性(某个属性 是 对象类型)参数的接收 2     @RequestMapping(value = "/objectPropertyParams.do") 3     public ModelAndView method4(Earth earth) { 4  5         System.out.println(earth); 6         ModelAndView mv = new ModelAndView(); 7         mv.addObject("username", earth.getPerson().getUsername()); 8         mv.addObject("age",earth.getPerson().getAge()); 9         mv.setViewName("/WEB-INF/jsp/hello.jsp");10         return mv;11     }

 

6.路径变量@PathVariable

  对于处理器方法中所接受的请求参数,可以来自请求中所携带的参数,也可以来自于请求的URI中所携带的变量,

  此时,需要借助@PathVariable 注解

1 // 路径变量 (参数 藏在 路径中传递过来)(了解就好)2     @RequestMapping(value = "/{pname}/{age}/pathVariableParams.do")3     public ModelAndView method5(@PathVariable("pname") String name,@PathVariable int age) {4         ModelAndView mv = new ModelAndView();5         mv.addObject("username", name);6         mv.addObject("age",age);7         mv.setViewName("/WEB-INF/jsp/hello.jsp");8         return mv;9     }

 

转载于:https://www.cnblogs.com/xuzekun/p/7406755.html

你可能感兴趣的文章
select、poll、epoll之间的区别
查看>>
Find a multiple POJ - 2356 (抽屉原理)
查看>>
Java NIO 通道之间的数据传输(5)
查看>>
date + 排序,
查看>>
Robot Framework 的安装配置和简单的实例介绍
查看>>
python中的sys模块和sys.argv的使用
查看>>
poj_1185状压dp
查看>>
【HDOJ】5096 ACM Rank
查看>>
分布式服务框架设计
查看>>
SpringMVC-DispatcherServlet工作流程及web.xml配置
查看>>
C#多线程 线程池
查看>>
HTTP的请求头标签 If-Modified-Since
查看>>
Ubuntu安装libevent
查看>>
C# WinForm程序退出的方法
查看>>
详解javascript事件绑定使用方法
查看>>
Git与GitHub的基本使用
查看>>
二叉树
查看>>
Dispatcher
查看>>
【webpack系列】1 What is webpack?
查看>>
Hibernate - Inverse属性的说明
查看>>