Spring Controller 获取请求参数的几种方法
2024-10-11 01:47:39
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。若"Content-Type"="application/x-www-form-urlencoded",可用post提交
url形式:http://localhost:8080/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的参数需要和Controller方法中的入参名称一致。
/**
* 1.直接把表单的参数写在Controller相应的方法的形参中
* @param username
* @param password
* @return
*/
@RequestMapping("/addUser1")
public String addUser1(String username,String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
} 2、通过HttpServletRequest接收,post方式和get方式都可以。
/**
* 2、通过HttpServletRequest接收
* @param request
* @return
*/
@RequestMapping("/addUser2")
public String addUser2(HttpServletRequest request) {
String username=request.getParameter("username");
String password=request.getParameter("password");
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
3、通过一个bean来接收,post方式和get方式都可以。
/**
* 3、通过一个bean来接收
* @param user
* @return
*/
@RequestMapping("/addUser3")
public String addUser3(UserModel user) {
System.out.println("username is:"+user.getUsername());
System.out.println("password is:"+user.getPassword());
return "demo/index";
}
4、使用@ModelAttribute注解获取POST请求的FORM表单数据
/**
* 4、使用@ModelAttribute注解获取POST请求的FORM表单数据
* @param user
* @return
*/
@RequestMapping(value="/addUser5",method=RequestMethod.POST)
public String addUser5(@ModelAttribute("user") UserModel user) {
System.out.println("username is:"+user.getUsername());
System.out.println("password is:"+user.getPassword());
return "demo/index";
}
5、用注解@RequestParam绑定请求参数到方法入参
当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)
**** 若"Content-Type"="application/x-www-form-urlencoded",post get都可以
**** 若"Content-Type"="application/application/json",只适用get
/**
* 5、用注解@RequestParam绑定请求参数到方法入参
* @param username
* @param password
* @return
*/
@RequestMapping(value="/addUser6",method=RequestMethod.GET)
public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
6、用request.getQueryString() 获取spring MVC get请求的参数,只适用get请求
@RequestMapping(value="/addUser6",method=RequestMethod.GET)
public String addUser6(HttpServletRequest request) {
System.out.println("username is:"+request.getQueryString());
return "demo/index";
}
最新文章
- iOS7 NavigationController 手势问题
- javascript bind
- Ubuntu 12 安装 MySQL 5.6.26 及 问题汇总
- P1572: [Usaco2009 Open]工作安排Job
- (转)java性能调优
- 无法找到AdbWinApi.dll问题解决 .
- 理解c++11正则表达式 (1)
- Swift基础--使用TableViewController自定义列表
- mysql--help不可用
- 如何理解java的引用传递
- 类似818tu.co微信小说分销系统设计之多公众号网页授权自动登录源码
- Leetcode解题-链表(2.2.2)ReverseLinkedList
- MVC页面扩展方法 单例模式
- Redis自学笔记:4.4进阶-消息通知
- 如何重置Gitlab root用户密码
- elk-logstash-kibana(三)
- PMM安装-第一篇
- Ubuntu下sublime-text3安装步骤
- oracle故障解决
- thymeleaf 字面量
热门文章
- 【收藏用】--切勿转载Java处理XML的三种主流技术及介绍
- [Java] 使用Comparator排序对象
- [ActionScript 3.0] Away3D 旋转效果
- Oracle中增加,修改,删除表中的列
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~ 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析
- 动手学servlet(一) 第一个servlet程序
- 项目积累——CSS应用
- 尼姆博弈HDU1907
- 酷我音乐API
- 【Unity Shaders】学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert