Action class
index.jsp
扩展为成功或失败
ActionForm class
,具有getter和setters方法我有3个jsp文件:
我有2个xml文件:
我理解web.xml的工作原理。我唯一的疑问是,首先从struts.xml调用哪一个 one.java /two.java ?
我尝试调试并发现首先调用ActionForm
类即two.java
,然后将值返回到Action
,即one.java
。
但是,Action类应该首先执行,然后是动作形式吗?我的意思是这就是MVC架构所遵循的。
请解释一下。链接到非常详细的工作流程将非常有用。
答案 0 :(得分:12)
在ActionForm
之前调用Action
类并不奇怪 - 在调用Struts操作方法之前,Struts表单应填充用户的数据,其中任何一个都有4个参数:
ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response
第二个 - ActionForm
- 应该准备好允许最远的数据处理。我刚刚找到great sequence diagram来说明所有Struts生命周期阶段:
简而言之:
RequestProcessor
以使用 struts-config.xml 找出适当的操作和表单RequestProcessor
获取Struts表单对象(或者如果它不存在则创建它),填充请求中的数据,启动验证(如果存在)并调用适当的Struts操作。