SSM知识巩固2

数据回显

1、springmvc默认对pojo数据进行回显。

pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)

测试:

到达修改页面之前  检索数据  把数据放入request中:

提交给执行更新的handler

页面:

 

点击提交之前:

当提交验证错误之后  还返回到该页面:

可以看到数据回显成功

如果把页面修改一下

到达修改页面的handler

 

修改页面:

到达修改页面   数据当然可以正常显示  因为在到达修改页面之前把数据放在了reqeust域中  key=items

把商品的生产日期  设置为null

点击修改提交给更新handle时  因为没有验证通过  所以返回 到该页面  但是此时观察handle中的pojo

所以验证失败的时候   返回到编辑页面时  不会自动进行数据的回显  因为 key="itemsExtension"  而页面中的使用的是${items.XXX}的形式 

总结一点就是 如果没有做额外的设置(下面的总结中将会提到)  框架会自动把提交给handle的pojo数据   保存在request域中   key=“类名称 首字母小写”

-----------------------------------------------

 上边说了那么多 这里说一下最简单的数据回显方法:就是把数据通过model.attribute的方法 保存在request域中  key值和页面上的el表达式对应即可:

页面:

 -----------------------------------------------------

@ModelAttribute的使用:

使用@ModelAttribute指定pojo回显到页面在request中的key

下面这个handle中的方法 是不能请求的 因为没有为他设置url映射路径  但是这个方法有返回值    使用@ModelAttribute注解可以把该返回值  设置到request域中  页面可以直接获取里边的数据

页面:

显示效果:

----------------------------------------------

异常处理

自定义异常类

springmvc.xml中配置上面的bean

错误页面:

访问地址:传入一个不存在的id值  使其抛出异常

------------------------------------------------

原文地址:https://www.cnblogs.com/Joke-Jay/p/7575880.html