四、SpringMVC中的数据处理和视图跳转

结果跳转方式

1.通过实现controller接口并通过视图解析器

ModelAndView
设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .

页面 : {视图解析器前缀} + viewName +{视图解析器后缀}

在这里插入图片描述
对应的controller类

在这里插入图片描述

2.直接通过ServletAPI

通过设置ServletAPI , 不需要视图解析器 .

1、通过HttpServletResponse进行输出

2、通过HttpServletResponse实现重定向

3、通过HttpServletResponse实现转发在这里插入图片描述

3.通过SpringMVC

(1)通过SpringMVC来实现转发和重定向 - 无需视图解析器;

测试前,需要将视图解析器注释掉

在这里插入图片描述
(2)通过SpringMVC来实现转发和重定向 - 有视图解析器;

在这里插入图片描述

数据处理

1.处理要提交数据

前端—> 后台

1、提交的域名称和处理方法的参数名一致

提交数据 : http://localhost:8080/hello?name=zijian

处理方法 :
在这里插入图片描述
后台输出:zijian

2、提交的域名称和处理方法的参数名不一致

前端为username,对应到后端参数name

提交数据 : http://localhost:8080/hello?username=zijian

处理方法 :
在这里插入图片描述
后台输出:zijian

3、提交的是一个对象

要求提交的表单域和对象的属性名一致 , 参数使用对象即可

1、对应的实体类

在这里插入图片描述
2、提交数据 : http://localhost:8080/mvc04/user?name=zijian&id=1&age=15

处理方法 :
在这里插入图片描述
后台输出 : User { id=1, name=‘kuangshen’, age=15 }

说明:如果使用对象的话,前端传递的参数名和对象名必须一致,否则就是null。

2.数据显示到前端

后台--->前端

(1)通过modelandview(实现controller接口)

在这里插入图片描述

(2)通过ModelMap

在这里插入图片描述

(3)通过Model(最常用)

在这里插入图片描述

3种方法对比

Model 只有寥寥几个方法只适合用于储存数据,简化了新手对于Model对象的操作和理解;

ModelMap 继承了 LinkedMap ,除了实现了自身的一些方法,同样的继承 LinkedMap 的方法和特性;

ModelAndView 可以在储存数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转。

乱码问题

以前乱码问题通过过滤器解决 , 而SpringMVC给我们提供了一个过滤器 , 可以在web.xml中配置 .

在这里插入图片描述
若以上过滤器不能解决,则再尝试:

(1)修改tomcat配置文件 :设置编码!

在这里插入图片描述
(2)自定义过滤器
网上找
然后在web.xml中配置这个过滤器即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值