Java三大框架SSH_003_01之Struts2:Action接收请求参数的第3、4种方式(最常用):通过模型驱动在action里实现一个模型驱动接口,提供一个模型属性,并一定要赋值

系列文章目录

一、Action接收请求参数的第3种方式:通过set模型属性(user.)

先复制一下上一课的项目,跟以前的复制项目的方式一样
day02_struts2_demo7——>day03_struts2_demo1
在这里插入图片描述
创建一个login.jsp
然后写一个模型 ,model(包) 然后创建一个类
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然后再在Action这边就写个模型属性就行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后我们运行程序
在这里插入图片描述
实际上这种方式是比较简单的,也比较实用,唯一麻烦的就是每次都要设置这个user.

我们发现getUser打印了2次,但是setUser打印了1次,这是什么原因造成的呢?
这是由原理决定的:第一次getUser是先看有没有这个对象,有没有值,这里是发现没有,所以自己要new个对象,然后把它设置进去
(即getUser、setUser)接下来又再次看有没有这个对象,有没有值,这次有了,直接获取即 getUser
在这里插入图片描述
由于要打点(user.)
所以衍生了第四种方式,最简单也是最常用的一种方式

二、Action接收请求参数的第4种方式:最常用

通过模型驱动在action里实现一个模型驱动接口
通过这种方式,在.jsp页面就不用写user.了
实现 模型驱动接口
在这里插入图片描述
在这里插入图片描述
我们这里的T 就是User
在这里插入图片描述
在这里插入图片描述
步骤:
1.在action里实现一个模型驱动接口
2.提供一个模型属性,并一定要赋值
在这里插入图片描述
就这么简单,非常简单,简单到你看不懂,牢牢记住就行,用多了就记得了
在这里插入图片描述
我们打印测试一下看看效果
在这里插入图片描述
一定要注意如果是从第三种方式user.过渡来的会保留第三种方式的.user,一定要在jsp页面把user.去掉
总而言之就是第四种方式jsp页面不需要.user了,如果有.user反而会有bug,不会有我吗想要的效果

在这里插入图片描述
在这里插入图片描述

总结

第四种方式: 通过模型驱动【最常用】
实现步骤:
1.在action里实现一个模型驱动接口
2.提供一个模型属性,并一定要赋值
通过这种方式,在jsp页面中就不用写user.
这是模型驱动的原理是因为有个模型驱动的拦截器在处理
这个类就com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值