IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> springmvc参数绑定 -> 正文阅读

[Java知识库]springmvc参数绑定

Springmvc参数绑定

  • 【应用】能够使用SpringMVC获取基本类型参数
  • 【应用】能够使用SpringMVC获取POJO类型参数

1、默认支持的参数类型

处理器形参中添加如下类型的参数,处理适配器会默认识别并进行赋值。

HttpServletRequest

通过request对象获取请求信息

HttpServletResponse

通过response处理响应信息

HttpSession

通过session对象得到session中存放的对象

Model/ModelMap

Model

Model对象可以向页面传递数据,其本质都是使用Request对象向jsp传递数据。

ModelMap

ModelMap是Model接口的实现类,也可以通过ModelMap向页面传递数据

使用Model和ModelMap的效果一样,如果直接使用Model,springmvc会实例化ModelMap。

代码如下:

@RequestMapping("/quick1")
//绑定默认参数 注入Servlet 相关API
public void quick1(HttpServletRequest request , HttpServletResponse response) throws
ServletException, IOException {
//向 request域中放数据
request.setAttribute("msg","大家好");
//转发
request.getRequestDispatcher("/WEB‐INF/jsp/success.jsp").forward(request, response);
}

@RequestMapping("/quick2")
//通过参数 注入原生的对象
public String quick2(Model model){
//向model放数据 等价于 向request域中放数据
model.addAttribute("msg","好好学习");
return "success";
}

2、绑定简单类型

当请求的参数名称和处理器形参名称一致时会将请求参数与形参进行绑定。
这样,从Request取参数的方法就可以进一步简化。

/
/接收简单的数据
@RequestMapping("/quick3")
//定义一个参数名和提交的数据的key一致
public String quick3(int id ,String name){
System.out.println(id);
System.out.println(name);
return "success";
}

2.1.@RequestParam

  • 使用@RequestParam常用于处理简单类型的绑定。
  • value:参数名字,即入参的请求参数名字,如value=“itemId”表示请求的参数中的名字为itemId的参数的值
    将传入。
  • required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报错
  • HTTP Status 400 - Required Integer parameter ‘XXXX’ is not present
  • defaultValue:默认值,表示如果请求中没有同名参数时的默认值

3、绑定pojo类型

3.1 使用pojo接收表单数据

如果提交的参数很多,或者提交的表单中的内容很多的时候,可以使用简单类型接受数据,也可以使用pojo接收数
据。 要求:pojo对象中的属性名和表单中input的name属性一致。

//接收pojo 类型的数据 pojo(简单的java对象)
@RequestMapping("/quick4")
//定义一个参数名和提交的数据的key一致
public String quick4(User user){
System.out.println(user);
return "success";
}

3.2 解决post乱码问题

当post请求时,数据会出现乱码,我们可以设置一个过滤器来进行编码的过滤。
在web.xml中加入

<!‐‐ 解决post乱码问题 ‐‐>
<filter>
<filter‐name>encoding</filter‐name>
<filter‐class>org.springframework.web.filter.CharacterEncodingFilter</filter‐class>
<!‐‐ 设置编码参是UTF8 ‐‐>
<init‐param>
<param‐name>encoding</param‐name>
<param‐value>UTF‐8</param‐value>
</init‐param>
</filter>
<filter‐mapping>
<filter‐name>encoding</filter‐name>
<url‐pattern>/*</url‐pattern>
</filter‐mapping>

4、Controller方法返回值

4.1 返回字符串形式

直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。

在这里插入图片描述

redirect重定向

@RequestMapping("/quick5")
public String quick5(){
System.out.println("quick5");
return "redirect:/index.jsp";
}

forward 转发

/
/转发
@RequestMapping("/quick6")
public String quick6(){
System.out.println("quick5");
return "forward:/index.jsp";
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:06:28  更:2021-09-29 10:09:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 18:41:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码