求教:struts action如何实现多个input

06-01-23 logicgate
我用Struts写了一个通用的ObjectManagerAction,来处理一个对象的CRUD操作。比如说对于一个SalesOrder对象,我的设计是这样的:

1。 createSalesOrder.jsp用来显示sales order有关信息的表单,用户填入信息后表单被发送到ObjectManagerAction的createObject方法。

2。 updateSalesOrder.jsp用来显示一个已经存在的sales order的信息,用户可以进行修改,修改后的表单被发送到ObjectManagerAction的updateObject方法。

3。 用户提交表单后,在表单信息被发送到ObjectManagerAction之前,ObjectValidatorForm会对表单的信息进行验证。如果验证成功,就产生或者更新sales order。如果验证失败,则返回input页面。

问题出在第三步,基于复杂的业务逻辑,对象的产生和更新是两个不同的jsp页面。但是在Struts action的配置中,只可以设置一个input页面。而我希望如果验证失败(用户输入了非法的数据),用户可以回到相应的页面。也就是说,如果用户是在产生sales order,则回到createSalesOrder.jsp,如果用户再在更新一个sales order,则回到updateSalesOrder.jsp。请问如何可以实现这个目标?

2
banq
2006-01-23 19:20
>createSalesOrder.jsp,如果用户再在更新一个sales order,则回到updateSalesOrder.jsp

我一般是将这两个页面合成一个页面的。就是两个JSP,也可用include调用共同的页面部件。

logicgate
2006-01-24 12:04
> >createSalesOrder.jsp,如果用户再在更新一个sales

> order,则回到updateSalesOrder.jsp

> 我一般是将这两个页面合成一个页面的。就是两个JSP,也可?> include调用共同的页面部件。

谢谢banq的回答。我知道可以在jsp中用include调用共同的页面组件,而且我也是这样做的。但这并不能解决我的问题啊,如果验证失败,我并不是要回到那个被共同调用的页面组件,而是要回到相应的jsp页面。至于把两个页面合成一个页面是不可能的,对于我目前在作的这个企业应用,产生sales order的页面和修改sales order的页面有很大的差别的。

logicgate
2006-01-25 17:09
怎么没有人回答我的问题呢?几次在这里提问都这样。也许是我问的问题低手还回答不了,而高手又只愿意讨论架构方面的话题,对这种细节问题或者是不屑回答,或者是没有时间深究。呵呵,下次还是端个小板凳在这里看好了。

XeroBuffer
2006-02-04 22:03
LookUpDispathAction就是专门干这个的。看考一下Struts的文档。

猜你喜欢
2Go 1 2 下一页