struts的试验--验证struts对ActionForm的使用的机制

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

ActionForm是Jsp与Servlet(Action)之间传输数据的纽带,为了搞清楚ActionForm的使用情况,我做了一些试验。

ActionForm -- examples.simple.SimpleActionForm

我给SimpleForm的载入、构建和各getter\setter中都加入了打印信息的代码。

Action -- examples.SuccessAction

只实现了跳转控制功能

Action -- examples.simple.ProcessSimpleAction

处理simple.jsp页面提交,控制页面跳转

JSP -- index.jsp

欢迎页面,只有一个简单的连接指向/prepareSimple

JSP -- simple.jsp

有填写的表格,form的提交指向/processSimple

JSP -- simpleresult.jsp

显示提交的结果

struts-config.xml的定义

<struts-config>

<form-beans>

<form-bean name="simpleForm" type="examples.simple.SimpleActionForm" />

</form-beans>

<action-mappings>

<action path="/prepareSimple" type="examples.SuccessAction">

<forward name="success" path="/jsp/simple/Simple.jsp" />

</action>

<action input="/jsp/simple/Simple.jsp" name="simpleForm" path="/processSimple" scope="request"

type="examples.simple.ProcessSimpleAction" validate="true">

<forward name="success" path="/jsp/simple/SimpleResults.jsp" />

</action>

</action-mappings>

</struts-config>

程序运行阶段

1、当点击index.jsp的/prepareSimple连接的时候,程序显示如下:

正在启动:SimpleActionForm

正在构造:SimpleActionForm()

正在:reset()

正在:getName()

正在:getSecret()

正在:getColor()

正在:getConfirm()

正在:getRating()

正在:getRating()

正在:getRating()

正在:getRating()

正在:getRating()

正在:getMessage()

可见struts判断了simple.jsp,明确了此页面需要的ActionForm Bean,于是就初试化bean,在产生simple.jsp页面的过程中,根据页面的需求

去取bean的属性(为什么去取一遍我有点想不通,好像是无用的,大概是检查一下吧)。

2、在提交simple.jsp之后,程序显示如下:

正在构造:SimpleActionForm()

正在:reset()

正在:setColor()

正在:setHidden()

正在:setMessage()

正在:setName()

正在:setSecret()

正在:validate()

在ProcessSimpleAction.execute()

正在:getName()

正在:getSecret()

正在:getColor()

正在:getConfirm()

正在:getConfirm()

正在:getRating()

正在:getHidden()

正在:getMessage()

struts在收到提交请求后,首先根据XML的定义,生成了一个form bean,然后将各个值都(从request中)取出来,并附给bean。然后启动ProcessSimpleAction, ProcessSimpleAction完成工作之后,struts在构造simpleresult.jsp的时候,发现需要simpleForm,因此又会从form bean中取值(这次取值是有用的)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航