Spring MVC 数据回显
springmvc 的数据回显
- 标签:
- springmvc
1 数据回显
1.1 什么数据回显
提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面。
即表单提交失败不需要再回到表单页面重新填写,原来提交的数据需要重新在页面上显示。
1.2 pojo数据回显方法
1、springmvc默认对pojo数据进行回显。
pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)
即 修改信息editItems()方法中的标识是 model.addAttribute("itemsCustom",itemsCustom);
editItems.jsp页面接收的标识为 <input type="hidden"name="id" value="${itemsCustom.id}"/>
提交修改的方法 public String editItemsSubmit(Modelmodel,HttpServletRequest request,Integer id,@Validated(value={ValidGrouop1.class}) ItemsCustom itemsCustom,BindingResult bindingResult)throws Exception
三者一致方可自动回显
使用@ModelAttribute指定pojo回显到页面在request中的key
1、绑定请求参数到pojo并且暴露为模型数据传到视图页面
此方法可实现数据回显效果。
@ModelAttribute("item") 中的item 对应ItemsCustom itemsCustom 的itemsCustom 为itemsCustom的别名,用于保持和页面的"${item.name }" 中的item 一致实现数据回显
// 商品修改提交
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Model model , @ModelAttribute("item") ItemsCustom itemsCustom)
页面:
<tr>
<td>商品名称</td>
<td><input type="text"name="name" value="${item.name}"/></td>
</tr>
<tr>
<td>商品价格</td>
<td><input type="text"name="price" value="${item.price}"/></td>
</tr>
如果不用@ModelAttribute也可以使用model.addAttribute("item", itemsCustom)完成数据回显。
2、@ModelAttribute还可以将方法的返回值传到页面
在商品查询列表页面,通过商品类型查询商品信息。
在controller中定义商品类型查询方法,最终将商品类型传到页面。
//商品分类
//itemTypes表示最终将方法的返回值放在request中的key
@ModelAttribute("itemtypes")
public Map<String, String>getItemTypes(){
Map<String,String> itemTypes = new HashMap<String,String>();
itemTypes.put("101", "数码");
itemTypes.put("102", "母婴");
return itemTypes;
}
页面上可以得到itemTypes数据。
商品分类:
<select name="itemtype">
<c:forEach items="${itemtypes }" var="itemtype">
<option value="${itemtype.key}">${itemtype.value }</option>
</c:forEach>
</select>
3、使用最简单方法使用model,可以不用@ModelAttribute
@RequestMapping("/editItemsSubmit")
public StringeditItemsSubmit(Model model
,HttpServletRequest request,
Integerid,
@ModelAttribute("items")@Validated(value={ValidGrouop1.class}) ItemsCustom itemsCustom,
BindingResultbindingResult)throwsException{
//获取验证错误信息
if(bindingResult.hasErrors())
{
//输出错误信息
List<ObjectError>allerrors=bindingResult.getAllErrors();
for(ObjectError error:allerrors)
{
System.out.println(error.getDefaultMessage());
}
//错误信息传递到页面
model.addAttribute("allErrors",allerrors);
//使用model 的方式使数据回显
model.addAttribute("items",itemsCustom);
return "items/editItems";
}
//调用service更新商品信息,页面需要将商品信息传到此方法
itemsService.updateItems(id,itemsCustom);
//重定向 不用加跟路径
//return "redirect:queryItems.action";
//页面转发
return "forward:queryItems.action";
}
1.3 简单类型数据回显
使用最简单方法使用model。
model.addAttribute("id", id);
仅供自己查阅参考使用,如有冒犯请留言联系
转载自: https://blog.csdn.net/u012373815/article/details/47205657
转载于:https://www.cnblogs.com/webyyq/p/8676269.html
Spring MVC 数据回显相关推荐
- Spring Mvc 数据回显、异常处理、文件上传、json交互、ResTful、拦截器的使用(高级三)
1,数据回显 SpringMvc包含三种数据回显机制 第一种:对于简单数据类型,如:Integer.String.Float等使用Model将传入的参数再放到request域实现显示. (回顾jsp四 ...
- Java Web之SpringMVC 进行数据回显
基本介绍 数据回显:模型数据导向视图(模型数据 ---> Controller ---> 视图) 说明:SpringMVC在调用方法前会创建一个隐含的模型对象,作为模型数据的存储容器(隐含 ...
- JAVAWEB开发之SpringMVC详解(二)——高级开发、数据回显、参数绑定集合、图片上传、json交互、validation校验、异常处理、RESTful支持、拦截器
知识回顾 springmvc框架 用户请求url到DispatcherServlet前端控制器,相当于中央调度器,降低系统各组件之间的耦合度. DispatcherServlet前端控制器通过Hand ...
- SpringMVC3----@Controller注解、RestFul风格的讲解和应用、SpringMVC的接受请求参数、网页跳转方式和数据回显、乱码问题
目录 7 Controller类的写法 7.1 继承Controller接口 7.2 一个简单通过@Controller注解实现的程序. 7.3 @RequestMapping 8 RestFul风格 ...
- java元婴期(31)----java进阶(springmvc(5)---数据回显数据交互拦截器)
数据回显 什么数据回显 提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面. pojo数据回显方法 1.springmvc默认对pojo数据进行回显. pojo数据传入controller方法 ...
- Spring MVC——数据检验步骤
1. 搭建web工程 2. 导入jar包 spring-beans.jar.spring-context.jar.spring-core.jar.spring-expression.jar.sprin ...
- validate参数校验和数据回显
服务端校验 校验理解 项目中,通常使用较多的是前段的校验,比如在页面中js校验.对于安全要求较高的建议在服务端进行校验. 服务端校验: 控制层controller:校验页面请求的参数的合法性.在服务端 ...
- 关于element的select多选选择器,数据回显的问题
关于element的select多选,数据回显的问题 在工作中遇到这样一个问题,新建表单时用element的select多选以后,在编辑的时候打开表单发现其他数据能正常显示,多选却无法正常回显.在网上 ...
- springMVC参数绑定与数据回显
简单例子:修改商品信息的jsp页面: 参数绑定过程: 1.2.1 默认支持的参数类型 处理器形参中添加如下类型的参数处理适配器会默认识别并进行赋值. 1.1.1 HttpServletReq ...
最新文章
- 【伯乐在线】程序员常有,优秀程序员不常有
- 使用CSS预处理器Less
- torch复现论文简明笔记
- (求助)即时发送异常给开发人员
- 机器人加锤石如何放技能q_莫甘娜天克机器人?青蛙完美套路心理博弈,王者辅助E不出来!...
- 垃圾回收算法与实现系列-学习GC之前的准备工作
- java基本数据类型填空题_java基本数据类型练习题
- dll创建及调用(VS2005)
- 南阳理工ACM111
- GRE词汇统计大全(二)
- 地下城php补丁怎么用,dnf补丁怎么用,教你如何学会使用补丁
- 国外公路建设的能源利用
- java 调用autoit_java和autoit连接
- GDT 培训 | 模拟第一基准,第二基准和第三基准的拟合
- day21、3 - 防火墙HA
- python加减乘除求余
- Linux下四款常见远程工具比较
- idea创建工程java不是蓝色source
- 第二章:算法——程序的灵魂
- 美团大规模微服务通信框架及治理体系OCTO核心组件开源
热门文章
- 第十五:Pytest-html报告修改与汉化
- 自动化测试学习之路--json、dom编程
- python三层设计_推荐3个Python实现算法和设计模式的工具
- php时间戳转换日期24,php时间戳怎么转换回日期
- oralce修改密码教程
- 第7章[7.22] Ext JS类的继承与混合
- Java Applet 授权命令
- 中国农业大学计算机学院博士,[北京]中国农业大学工学院农业机器人团队
- java dns 解析域名解析_java网络学习 java dns 域名解析协议实现
- JDK8新特性(三)之常用内置函数式接口