栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springmvc参数绑定

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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中加入



encoding
org.springframework.web.filter.CharacterEncodingFilter


encoding
UTF‐8



encoding
/*

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";
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269903.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号