BTW:向大家推荐一个表现层框架 :vraptor,个人非常喜欢,使用picocontainer自动装配,使用起来有seam的感觉.
那个package主要就是为了让我们可以模块化配置action,package可以基础父package,这样在子package里就有可以使用父package的配置,至于那个namespace,主要是在访问的url上作用。要想访问指定命名空间里的action,在url上要加上相应的namespace.
struts-config-admin.xml
struts-config-forum.xml
struts-config-message.xml
struts-config-security.xml
总觉得extends,nmaespace是额外增加了复杂性,真的很有必要吗?
不过表现层框架也引入拦截器我个人非常喜欢!!
[该贴被oojdon于2008-12-20 09:23修改过]
听说struts1的action还是池化了的,注意把它搞成无状态就行了,线程这个东西我不太敢碰,需要时间,现在我确定我玩不转!
[该贴被oojdon于2008-12-20 13:13修改过]
structs我不熟悉,仅发表一些个人的理解。package,extends,namespace这样的概念基本上是成熟的开发语言所必需具备的特性,具有了这些才能够建立比较大型的模型结构,如果structs在此方面进行了扩展那么说明他不再只是期望用于简单的UI开发了,他希望成为一套更高级、可以建成更大规模系统的开发平台。
很关键,但是这是程序设计语言的特性,和框架无关,框架为什么要额外引入?难道struts2的定位就是代码巨量的大型项目?呵呵。
不知道banq大大的意见是什么,J2EE开发代码很多的时候是否需要框架支持package,extends,namespace?
其实我现在不知道package,extends,namespace在struts2中怎么用,看过别人的代码,头大!
[该贴被oojdon于2008-12-20 13:09修改过]
|
这个已经包含了您需要了解的package、namespace、extends等元素。
这里面我惟一觉得不必要或者说是做得不太好的是package元素,我为什么不能让action直接继承并加上命名空间呢?好吧,package可以实现模块管理,但是一套良性命名方案比这个更好,也方便零配置(或接近零配置)。
namespace是给url访问的,/App/xyx/abc/xxxList就能访问XXXListAction的默认execute方法。
用/App/xyx/abc/xxxList!methodName.action可访问methodName方法,这些方法要有返回值,类型是String,对应了result 中的name属性。可用正则表达式减少配置,因为我们以前改造了struts2生成了适合自己的框架,结果是现在不能升级struts2版本,我们做的改动太大了,包括json之类的都有,google好像也有一个,当时我们没发现那个,也可能我们的比那个更早期。
其实struts2从出来到现在我们感觉没有什么太大变化,我们没有用过新版本的新功能(当然是我们的改造使这成为不可能,不知别人用没用过新功能),既然只有原先的那部分基本功能就能满足我的要求了,我为什么要拿出来那么多不必要的东西呢?有人喜欢拦截器,我们不需要(指自定义),ONGL是挺好的,但是el也很不错,加上json更能满足我们的需要了。
我们现在在用的是jsp+el+js,因为有良好的外观,我们只要include一个公用jsp就行了,省去了配置和action,简直轻松极了,用了框架怎么省呢?不是省配置就是省action类,能两个都省了吗?尤其是这些个action的功能还有点小差异的时候。