springMVC参数绑定与数据回显

简单例子:修改商品信息的jsp页面:

参数绑定过程:

1.2.1  默认支持的参数类型

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

1.1.1     HttpServletRequest

通过request对象获取请求信息

1.1.2     HttpServletResponse

通过response处理响应信息

1.1.3     HttpSession

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

1.1.4     Model

通过model向页面传递数据,如下:

//调用service查询商品信息

Items item = itemService.findItemById(id);

model.addAttribute("item", item);

页面通过${item.XXXX}获取item对象的属性值。

1.1.5     @RequestParam

如果request请求的参数名和controller方法的形参数名称一致,适配器自动进行参数绑定。如果不一致可以通过

@RequestParam 指定request请求的参数名绑定到哪个方法形参上。

对于必须要传的参数,通过@RequestParam中属性required设置为true,如果不传此参数则报错。

对于有些参数如果不传入,还需要设置默认值,使用@RequestParam中属性defaultvalue设置默认值。

1.1.6     可以绑定简单类型

可以绑定整型、  字符串、单精/双精度、日期、布尔型。

1.1.7     可以绑定简单pojo类型

简单pojo类型只包括简单类型的属性。

绑定过程:

request请求的参数名称和pojo的属性名一致,就可以绑定成功。即上面的几幅图就是属性名与参数名一致。

问题:

如果controller方法形参中有多个pojo且pojo中有重复的属性,使用简单pojo绑定无法有针对性的绑定,

比如:方法形参有items和User,pojo同时存在name属性,从http请求过程的name无法有针对性的绑定到items或user。

可以绑定包装的pojo

包装的pojo里边包括了pojo。

数据回显:

1       数据回显

1.1     需求

表单提交出现错误,重新回到表单,用户重新填写数据,刚才提交的参数在页面上回显。

1.2     对简单类型的数据回显

对商品修改数据回显:

注意在进入修改页面的controller方法中和提交修改商品信息方法model.addAttribute方法设置的key一致。

pojo类型数据回显

方法1:

使用Model.addtribute方法进行数据回显:

方法2:

使用注解@ModelAttribute,作用于将请求pojo数据放到Model中回显到页面

在ModelAttribute方法指定的名称就是要填充Model中的key,在页面中就要通过key取数据。

时间: 2024-08-26 02:18:55

springMVC参数绑定与数据回显的相关文章

SpringMVC【参数绑定、数据回显、文件上传】

前言 本文主要讲解的知识点如下: 参数绑定 数据回显 文件上传 参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定... 默认支持的参数类型 从上面的用法我们可以发现,我们可以使用request对象.Model对象等等,其实是不是可以随便把参数写上去都行???其实并不是的... Controller方法默认支持的参数类型有4个,这4个足以支撑我们的日常开发了 HttpServletRequest HttpServl

springmvc学习笔记(15)-数据回显

springmvc学习笔记(15)-数据回显 springmvc学习笔记15-数据回显 pojo数据回显方法 简单类型数据回显 本文介绍springmvc中数据回显的几种实现方法 数据回显:提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面. pojo数据回显方法 1.springmvc默认对pojo数据进行回显. pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写) 使用@ModelAttribute

接收请求参数及数据回显

接收请求参数及数据回显 接收一个参数 //http://localhost:8080/r/user/t1?username=julia @GetMapping("/user/t1") public String test1(@RequestParam("username") String name, Model model) { return "test"; } 接受一个对象 //http://localhost:8080/r/user/t2?i

Select2插件ajax方式加载数据并刷新页面数据回显

今天在优化项目当中,有个要在下拉框中搜索数据的需求:最后选择使用selec2进行开发: 官网:http://select2.github.io/ 演示: 准备工作: 文件需要引入select2.full.js.select2.min.css(4.0.1版本)和jquery.1.8.3及以上 注意:最新版本的select2如果引用的jquery版本较低的话,某些功能无法正常使用. HTML代码 <select id="c01-select" class="select2&

ElementUI表格多选框根据后端传来的数据进行数据回显

前端部分代码:重要的是ref="multipleTable"和this.$refs.multipleTable.toggleRowSelection(需要勾选的行数据,是否勾选) <el-table :data="items" //这个items是我定义的数据,用于接收后端传来的表格数据(items里面包含多个对象数据),表格遍历显示 :row-key="getRowKey" //多选框时是必要的 @selection-change=&qu

SpringMvc参数绑定出现乱码解决方法

在SpringMvc参数绑定过程中出现乱码的解决方法 1.post参数乱码的解决方法 在web.xml中添加过滤器 <!-- 过滤器 处理post乱码 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class

数据回显

在添加数据的时候有时因为数据条件不符合而页面的数据要重新输入比较麻烦,所以要做数据回显功能 根据提供domain里的基本数据类写个类CustomerFormBean .java 1 package cn.itcast.Controller; 2 3 import java.util.Date; 4 import java.util.HashMap; 5 import java.util.Map; 6 7 public class CustomerFormBean { 8 private Stri

Struts2实现input数据回显

/** 修改页面 */    public String editUI() {        //准备回显得数据        Role role = roleService.getById(id);                ActionContext.getContext().getValueStack().push(role); //下面的方法也能实现数据回显 //        this.name = role.getName();//        this.description

7、struts2 案例( 模型驱动、 防止表单重复提交--拦截器 、数据回显 、值栈 、 OGNL表达式综合运用)

struts2 案例 技术点: 模型驱动 防止表单重复提交–拦截器 数据回显 值栈 OGNL表达式 通配符.路径匹配原则.常量 数据处理的集中方式 请求数据自动封装以及类型转换 1.导包 c3p0-0.9.1.2.jar commons-dbutils-1.6.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.j