Struts中不能将两阶段的action放到一个类中实现

EC2.0的提交任务分成两个阶段,第一阶段,也就是用户在界面上点击了提交任务链接后,进入PreSubmitJob阶段,此时读写一些必要的信息,然后给出Form,用户Form填写完成提交后,进入第二阶段SubmitJob阶段。 

本来的想法是把这两个阶段的代码都合并在SubmitJobAction中,根据用户是否填写了jobname这个字段来判断应该执行哪个阶段的代码。事实证明这是非常错误的,因为SubmitJob带validate form,一旦点击了提交任务后,Struts就会生成Form,然后验证Form中的这些字段是否被正确设置了。显然这些字段都没有设置呢,于是Struts根本就不执行Action class,直接就倒回到input page了。 

所以,我们在Action Class中判断jobname是否为空,然后以此为依据来判断用户是处于PreSubmitJob状态还是SubmitJob状态,这是根本不可行的。 

所以,这样两个阶段的东西,必须要写成多个类,在Struts中配置多个Action。
原文地址:https://www.cnblogs.com/super119/p/1934996.html