精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-03-28
同意goldrain的看法,Action数量一定要适量,粒度太细维护起来很烦,如果都集中在一起,Action类又显得代码太多。可以以模块划分一下,如果某个模块对应的Action类仍很复杂,可以再分小的模块。。。
|
|
返回顶楼 | |
发表时间:2005-03-28
larlf 写道 Action同ActionForm是一一对应的啊,不同数据类型肯定会用到多个ActionForm的,这个问题你们怎么解决的啊?
这个我也经常碰到,我比较喜欢使用DispatchAction,或者由它扩展出来的自己的子类。 我的表单里面放一个隐藏字段来表示调用哪个method,一般一个action里面有很多的method,比如SAVE,LOAD,DELETE一类的。这些method不光对应于一个ActionForm,有时候会有多个。比如SAVE方法需要EDITForm,但是LIST方法需要SEARCHForm。 这样我的做法是Action类也只写一个,但是在config文件里面写上2个配置,都是一个Action class.但是url不同,ActionForm也不同: <action path="LISTXXX" type="myAction" name="searchForm"> </action> <action path="EDITXXX" type="myAction" name="EDITForm"> </action> 不知道有没有办法写到一个Action配置里面。或者更好的解决办法。 |
|
返回顶楼 | |
发表时间:2005-03-29
slaser 写道 larlf 写道 Action同ActionForm是一一对应的啊,不同数据类型肯定会用到多个ActionForm的,这个问题你们怎么解决的啊?
这个我也经常碰到,我比较喜欢使用DispatchAction,或者由它扩展出来的自己的子类。 我的表单里面放一个隐藏字段来表示调用哪个method,一般一个action里面有很多的method,比如SAVE,LOAD,DELETE一类的。这些method不光对应于一个ActionForm,有时候会有多个。比如SAVE方法需要EDITForm,但是LIST方法需要SEARCHForm。 这样我的做法是Action类也只写一个,但是在config文件里面写上2个配置,都是一个Action class.但是url不同,ActionForm也不同: <action path="LISTXXX" type="myAction" name="searchForm"> </action> <action path="EDITXXX" type="myAction" name="EDITForm"> </action> 不知道有没有办法写到一个Action配置里面。或者更好的解决办法。 对你这种不是很赞同,这样给写配置文件觉得麻烦,而且也会多出很多不必要的form类。 如你所说的这种情况,你完全可以作为一个form,form类中有你原来的俄ditform的字段,再加上一个list对象,就完全可以解决你的问题。建议做法:将你说的editform中的字段放到一个VO对象中,然后把vo放到form中,这样感觉比较清晰,将页面元素的值传导业务层作处理也比较方便。 |
|
返回顶楼 | |
发表时间:2005-06-29
Johnson 写道 同意goldrain的看法,Action数量一定要适量,粒度太细维护起来很烦,如果都集中在一起,Action类又显得代码太多。可以以模块划分一下,如果某个模块对应的Action类仍很复杂,可以再分小的模块。。。
我觉得还是一个页面做一个action, 另不是可以用LookupDispatchAction吗? |
|
返回顶楼 | |
发表时间:2005-06-29
如果在一个action中处理多个页面的操作的话,那么你肯定不能用validate来验证了。我现在就是这种情况,甚至,我只写一个actionform来对应这么多的action,(我的数据库处理都是用Hibernate来封装处理了,根本就用不上actionform了),这样做有一个缺点就是不能进行validate了。其他的没有什么缺点。我用struts就改变了view的显示,它的其他功能没有用到。
|
|
返回顶楼 | |
发表时间:2005-07-08
我感觉关键是看你的Action的大小,如果都是CRUP操作,并且都很简单那么完全可以继承自DispatchAction, 这样很方便啊
如果应用比较大,如果放在一起,会导致这个action代码过多,显的很混乱..... 不过validate倒是没有问题的,validate它只认的是FormBean被配置后的名字,在validate的xml配置文件中,只要和formbean的name一样,就OK啊 |
|
返回顶楼 | |
发表时间:2005-07-11
每一个Class中的代码不宜太多,很多小组的建议都是:没一个Class中的代码不超过200 lines
|
|
返回顶楼 | |
发表时间:2005-07-25
建议楼主还是学学这个,用起来逻辑性强一些。
|
|
返回顶楼 | |
发表时间:2005-08-02
w_weidong 写道 slaser 写道 larlf 写道 Action同ActionForm是一一对应的啊,不同数据类型肯定会用到多个ActionForm的,这个问题你们怎么解决的啊?
这个我也经常碰到,我比较喜欢使用DispatchAction,或者由它扩展出来的自己的子类。 我的表单里面放一个隐藏字段来表示调用哪个method,一般一个action里面有很多的method,比如SAVE,LOAD,DELETE一类的。这些method不光对应于一个ActionForm,有时候会有多个。比如SAVE方法需要EDITForm,但是LIST方法需要SEARCHForm。 这样我的做法是Action类也只写一个,但是在config文件里面写上2个配置,都是一个Action class.但是url不同,ActionForm也不同: <action path="LISTXXX" type="myAction" name="searchForm"> </action> <action path="EDITXXX" type="myAction" name="EDITForm"> </action> 不知道有没有办法写到一个Action配置里面。或者更好的解决办法。 对你这种不是很赞同,这样给写配置文件觉得麻烦,而且也会多出很多不必要的form类。 如你所说的这种情况,你完全可以作为一个form,form类中有你原来的俄ditform的字段,再加上一个list对象,就完全可以解决你的问题。 你能详细讲解一下你的list的作用么? 引用 建议做法:将你说的editform中的字段放到一个VO对象中,然后把vo放到form中,这样感觉比较清晰,将页面元素的值传导业务层作处理也比较方便
form本身不就是一个vo么(除了使用验证方法)?我重新创建一个vo然后再放进去,有什么用处啊? 请指点一下 |
|
返回顶楼 | |
发表时间:2005-08-04
java200408 写道 我感觉还是一个动作对应一个Action,这样权限管理就比较简单了。
比如说某用户只有添加权限没有修改权限。 我们做struts开发时,有专门的权限表和权限管理进行控制,有Action没有关系,我们开发时一般以一个模块为单位,具体视情况而定,如果动作不太多,不太复杂,而又操作一个表时,基本上是一个Action,如果涉及多个表,会视情况分成几个Action。我觉得这种东西不一定要定死,可以看具体情况调节 |
|
返回顶楼 | |