论坛首页 入门技术论坛

SSH架构中的Struts似乎很鸡肋

浏览 22426 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-05-25  
贫血是啥意思?
0 请登录后投票
   发表时间:2009-05-25   最后修改:2009-05-25
Durian 写道
贫血是啥意思?


同问,

看过贫血对象,就是 BO(Business Object),不需要存储状态以及相关的关系

这做动词啥意思呢?
0 请登录后投票
   发表时间:2009-05-25  
由于多线程关系所以尽量不要使用状态属性.....否则要七锁八锁的....很是麻烦.
0 请登录后投票
   发表时间:2009-05-25  
我用的也是struts1。我写了一个公共的基类DefaultObjectAction,封装了自动的data population,validation,crud等等操作。具体的子类如果需要特殊操作,可以override父类的某些方法,否则子类中不用写任何代码。基本上不用actionform,也觉得是个鸡肋。
0 请登录后投票
   发表时间:2009-05-25  
都是鸡肋而已.
0 请登录后投票
   发表时间:2009-05-25  
不可否认struts依然是广泛使用的框架,只不过使用方式不一样。
1、如果觉得form是个废物,可以直接砍掉啊,单独写个获取数据的类(如果要获取文件等数据,还是用form比较好)
2、action里面做分发、业务流的控制,这就足够了,难道非要充斥n多行代码(这是dao和service要做的)?累!
所以个人认为struts依然是一个很好的框架,要看你怎么用了。
0 请登录后投票
   发表时间:2009-05-25   最后修改:2009-05-25
在form中做valiate还是不错的,可以校验数据的有效性。如果把这部分放到action本来也可以,我以前也是这么做的。不过现在想想,放到form之后,action代码就很干净了,也是不错的选择。

至于form的作用,和业务层的model还是有一些区别的,但两者很像倒是真的。很多情况下的确可以混为一起使用,但意义其实还是有区别的。我一般show的时候直接用model扔到页面上,但如果是create,update这样的情况,还是使用form,然后利用Beanutils做一下form与model的映射,这样看起来更清晰一些。毕竟表单数据与实际的业务对象还是有一些区别的,当然如果嫌麻烦,作为一个对象也是可以的,很多人都这么做。但我还是更喜欢目前自己的这种做法。
1 请登录后投票
   发表时间:2009-05-25  
jcs7575 写道
我认为action不就是做转发来用的
如果不用form那表单的数据传不过来啊

如果不用struts 如果用velocity也是一样需要有spring的controller 也需要有model的

你觉得呢?

赞同呢~ 我也一直感觉struts 也就那意思了 没什么必要深究了
0 请登录后投票
   发表时间:2009-05-25  
nighthawk 写道
action还有以下作用:
1,参数校验
2,异常处理
3,页面分发
如果讨厌form,那就struts2呗。


我比你们好,struts没有用多久就转到struts2去了  哈哈
0 请登录后投票
   发表时间:2009-05-25  
使用Spring很多年,一直不知道要Struts能做什么,国内大肆鼓吹SSH。真的有必要吗?Spring+iBatis||Hibernate 完全可以完成相应的工作,真需要标签JSTL+SpringTagLib完全够用,Struts还真就用不上!
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics