ModelViewAction不能满足业务,且不易扩展

07-01-05 qq3951819
    

ModelViewAction不能满足业务,且不易扩展

    

banq
2007-01-06 16:36

ModelViewAction是实现MVC中Controller功能,功能确定,基本无需拓展。

推荐不要编写Action代码,否则业务代码也写入Action中,拓展难以维护。

qq3951819
2007-01-06 23:29

我有三个Model: Customer,Employee和 Repair,相对应ModelForm为:

CustomerForm,EmployeeForm 和RepairForm 其中Customer,Repair的

CRUD功能都可以用ModelViewAction轻松来实现

但Repair 包含了Customer 和Employee

他的CREATE流程: 首先是从一个Customelist列表的JSP页面中先择一个customer

然后再从repair的create页面中的employee下拉列表挑选一个employee

试了很多次想用ModelViewAction来创建,但是都没成功,还不如自己建一个Action

来实现方便,不知道板桥老大是否能解我的疑惑,指条明路好吗,谢谢!

qq3951819
2007-01-06 23:30

我有三个Model: Customer,Employee和 Repair,相对应ModelForm为:

CustomerForm,EmployeeForm 和RepairForm 其中Customer,Repair的

CRUD功能都可以用ModelViewAction轻松来实现

但Repair 包含了Customer 和Employee

他的CREATE流程: 首先是从一个Customelist列表的JSP页面中先择一个customer

然后再从repair的create页面中的employee下拉列表挑选一个employee

试了很多次想用ModelViewAction来创建,但是都没成功,还不如自己建一个Action

来实现方便,不知道板桥老大是否能解我的疑惑,指条明路好吗,谢谢!

banq
2007-01-07 08:47

>首先是从一个Customelist列表的JSP页面中先择一个customer

>然后再从repair的create页面中的employee下拉列表挑选一个employee

基本看来是建模的问题,Repair和customer和employee是个关联关系,实现Repair和customer与employee嵌入引用,这个思路供参考。

还有一个思路:使用Action串联,在struts-config.xml配置MovelViewAction中,将forward的name配置为另外一个你定做的action,这样相当于一个总的Action,总之,分散编程,不要将两个以上功能放在一个Action。

使用Action串联,在最后的Jsp页面,可以读取串联每个Action对应的所有ActionForm,可以读取两个以上不同ActionForm.