深入研究struts中的formbean
来源:互联网 发布:哪家淘宝马丁靴好看 编辑:程序博客网 时间:2024/04/28 07:48
struts中的formbean主要是用来封装(通过反射)浏览器或使用http协议的客户端提交的表单数据,我想大家在这一点上已达成共识,没什么好说的,在这层意义上,<html:text>之类表单struts tag,似乎没有什么用武之地,实际上也确实如此,使用普通的html tag可达到同样效果.但有一点很重要的是:struts tag可以自动从后台获取数据来填充页面.
下面举个例子来探讨这种机制:
现有两个action类,AAction,BAction
两个Form类,AForm,BForm
一个页面:A.jsp
这五个元素关系如下:
AAction 使用AForm,BAction使用BForm,AAction对应A.jsp,AForm和BForm都含有x和y属性,A.jsp的部分关键代码如下:
<html:form action="/BAction">
<html:text property="x" />
<html:text property="y"/>
</html:form>
当点击AAction(假设在其中使用request.setAttribute("VO",AForm),并且AForm.x=10,AForm.y=20时),出现A.jsp,但输入框x,和y空白,但如果AForm就是BForm的话,两个输入框会出现10和20,其实此时并不需要写request.setAttribute("VO",AForm),Struts有个很重要的特点是:当启动一个action时,struts实例化相应的form(如果有的话),并在forward的时候,会自动写上request.setAttrbute(formname,form),formname即你在配置文件中定义的form名,在本例中点击AAction,当AAction forward的时候,会自动写上request("AForm",AForm),所以当你想偷懒直接将form 传到页面上填充数据时,就不需要显式的这样写了.
当然如果AForm并不是BForm,你也可以这样写达到这种效果
<html:text name="VO" property="x"/>
<html:text name="VO" property="y"/>
由以上可以推断:
<html:form action="/BAction">
<html:text property="x" />
<html:text property="y"/>
</html:form>
实际上就是
<html:form action="/BAction">
<html:text name="BForm" property="x" />
<html:text name="BForm" property="y"/>
</html:form>
值得注意的是BForm可以为空,如果你将name="BForm" 改为name="VO"当然也可以是别的名,VO不能为空
由此当AForm并不是BForm的时候,我们有一种更简便的方案,即写上request.setAttribute("BForm" ,AForm),
这样就不用改页面了,但必须注意AForm必须有相应的属性
后记:
j2ee的常规做法并不推荐返回form作为jsp的数据,而应该返回一个value object或data transfer object
- 深入研究struts中的formbean
- struts formbean
- 使用Struts中的动态formbean时的注意事项
- struts FormBean的用处
- Struts中FormBean内部验证
- struts学习笔记—FormBean
- Struts页面中form中的变量名要和formBean中的名称一致才可以
- 深入研究Struts 1.1(连载,十分经典!)
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- 深入了解struts中的struts-config.xml
- Struts 中 formbean的使用(小技巧)
- 用lazyBean简化struts formbean开发
- java虚拟机学习笔记
- 请高手帮我解决一个有关“局域网监控和管理”方面的问题
- 沸茶防治心脏早搏
- 眼保健操
- XPath1.0与XPath2.0简介[ZZ]
- 深入研究struts中的formbean
- 用Swing的Jtable类让数据看起来更干净
- 中国人不要太聪明
- 一点点的郁闷
- PHP分页显示制作详细讲解
- 用Swing作一个日历控制程序
- [转] XMLHTTP 资源锦囊(中英对照)
- Java性能优化技巧
- [链接] 介绍 IOC