第三章 获取请求参数值-跟赵大笨笨学SpringMVC
来源:互联网 发布:windows字体大小设置 编辑:程序博客网 时间:2024/06/17 16:14
请求路径哪家强,@RequestMapping强强强。
请求参数哪家强,自己往下看!!!
1. @PathVariable
@RequestMapping("/mvc")// 在类的前面添加Controller注解,表示是spring的控制器@Controllerpublic class HelloWorld { // 请求url地址映射 @RequestMapping 是用于匹配请求的路径 @RequestMapping("/hello/{id}") public String hello(@PathVariable(value="id") Integer value){ System.out.println(value); // 通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作 return "success"; }}
我们在url中直接输入http://localhost:8080/spring/mvc/hello/6
通过@PathVariable可以将URL中占位符的参数绑定到controller处理方法的入参中。这样就能得到id=6了。
- 上面是
public String hello(@PathVariable(value="id") Integer value)
- 这样也可以
public String hello(@PathVariable Integer id)
- 还可以这样
public String hello(@PathVariable("id") Integer value)
以上三种方法都可以取到值。不要乱写,可能会出现500的错误。
2. @RequestParam
该注解也是用来获取请求参数的。那么该注解和@PathVariable有何不同呢? 还是看例子:
@RequestMapping("/hello") public String hello(@RequestParam String name){ System.out.println(name); return "success";}
我们在url中直接输入:http://localhost:8080/spring/mvc/hello?name=“1234”
看到这里,你大概已经明白了@PathVariable和@RequestParam之间的一些区别了吧,对于像“spring/hello/1”这样的请求,我们通过@PathVariable来绑定请求的参数;而对于类似“spring/hello?username=1234”这样的请求参数是以键值对出现的,我们通过@RequestParam来获取到如username或age后的具体请求值。
但是我如果不传name尼?url写成http://localhost:8080/spring/mvc/hello会出现什么?name的值是null?
难道必须传name这个参数吗?肯定不是。我们只需要加上required = false
public String hello(@RequestParam(required = false) String name)
改为这样就可以了,name的值是null。
3.表单提交-字段较少
先写jsp:
<form method="post" action="/spring/login">用户名:<input type="text" name="userName"/><button >Login</button>
我们用post方法提交,不要把信息暴露在url上。我们要提交的是用户名这个字段,并在后台取值。
看java代码:
@RequestMapping("/login")public String login(String userName){ System.out.println(userName); return "index";}
就这么简单,我们就可以取到画面上的值了,表单中input的name值和Controller的参数变量名保持一致,就能完成数据绑定,如果不一致可以使用@RequestParam注解。
4.表单提交-pojo
上面那种方法适用于字段较少的情况,要是有十个八个字段难道我们还要在参数中一个一个列举出来吗?
肯定没有那么笨,我们就来传个object试试。
首先定义一个需要的参数对象:
public class UserLogin { private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
在改一下我们的jsp:
<form method="post" action="/spring/login">用户名:<input type="text" name="userName"/><br/>密码:<input type="text" name="password"><br/><button >Login</button>
让我们输入值提交表单看看,
那么后台取到值了吗?
看来没什么技术含量啊,只需将对象的属性名和input的name值一一匹配即可。
我们再来看一种写法:
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
同样这也是可以取值的,看你个人喜好了。
- 第三章 获取请求参数值-跟赵大笨笨学SpringMVC
- SpringMVC获取请求参数
- SpringMVC请求参数的获取
- SpringMVC框架获取请求参数值的3种方法
- SpringMVC获取http请求中的参数
- SpringMVC获取请求参数的常用注解
- SpringMVC获取请求参数的方法
- springMVC 获取请求参数的方法
- 总结篇-SpringMVC-请求参数获取
- SpringMVC请求参数获取的方法
- http请求后台springMvc中获取不到请求参数
- 第七章 SpringMVC+Mybatis-跟赵大笨笨学SpringMVC
- springmvc 获取请求参数的几种方式
- springMVC 获取请求参数的几种方式
- 学习SpringMVC——如何获取请求参数
- 学习SpringMVC——如何获取请求参数
- springmvc请求参数获取的几种方法
- SpringMVC请求参数获取的几种方法
- 如何在双硬盘下安装ubuntu并配置java/idea开发环境
- javascript判断浏览器和hack滚动条
- 关于单链表的一些常见问题
- LMS最小均方算法
- Maven之setting.xml配置文件详解
- 第三章 获取请求参数值-跟赵大笨笨学SpringMVC
- 链表逆置(给出一个链表和数k)
- 让世界充满AI—时代的开拓者(程序员)
- Mybatis的初次使用及配置文件
- Spring高级
- sklearn 流水线(pipeline)使用
- Android:installLocation的用法
- Centos 删除软件
- C++实训心得