个人收集的网上的一些经典的解释

8 篇文章 0 订阅
5 篇文章 0 订阅

1.问:Struts中有ActionFrom还需要有实体类吗?如果有,它们有什么区别?

答:需要,form是专门对jsp页面的标签订制的,它是对你还可以在form 中对标签的值验证。
javabean功能简单,不能取消javabean。
想想如果在数据连接层把值放到form中,
再从action中取form值放到form里传给jsp页面,
这不是乱套了吗。应该说这是一种规范


Actionform是专门针对你页面的表单元素而制定的
Entity 是专门针对你数据库而制定的。

理解好这两点

2.问:struts2.0框架中的action类实现ModelDriven的作用是什么?

答:实现了ModelDriven就必须实现getModel这个方法,该方法返回的是你的ModelDrivern泛型中设定的实体类。其实是为了实现代码的重用,不要再定义一次你在数据访问层定义的属性了,直接用那个类就行了。不过有时候也不是很需要这个东西,比如只有一两个表单域的时候

3.问:struts ActionForm是单例吗? 什么时候被创建,什么时候被销毁?

答:不是单例,只有两种request,session,默认为session

1,tomcat 启动 ActionServlet被创建 ,初始化信息,配置
入内存

2,用户登录.jsp 提交 action,ActionServlet(实质内部ActionServlet借助一个好像名字叫做RequestProcesser的类)根据驻留内存的映射信息,创建ActionForm对象,并且把来自jsp的字段值填充ActionForm对象,然后把此ActionForm作为参数传递给对应Action的excute方法

3,excute方法处理,从ActionForm中提取表单值,业务逻辑处理

所以,如果默认session范围,ActionForm一直伴随着此访问者(和session一样的特点:伴随,且和访问者1vs1)

如果request范围  ,到第三步 excute处理完毕后,ActionForm就被干掉了

总之 我觉得 从两个角度来理解:
一:主动 ActionServlet,主动的去把数据填充到ActionForm,主动的把ActionForm交给Action

二:被动:ActionForm等人来填充 ,Action等人来调用

非原创,因为觉得这些回答解决了我一些问题,如果您觉得触犯了您的利益,通知我后,我会删掉


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值