精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-07-29
“Struts 2.0 的发布遵循 Struts Ti 计划书。包括两个阶段: Struts 2.0 是第一阶段,第二阶段是后续的 Struts发布系列 (Struts 2.1 或 Struts 3.0) 。 Struts Ti是一个简单化的Model 2(MVC)框架,面向不希望服务端组件有额外的复杂性和繁琐配置,但是具备最新web框架特性的的web应用。它定位于合并Ruby on Rails 和 NanoWeb的简单性、WebWork2的精巧性、Beehive的友好性。 Struts Ti的关键词是简单、完美。Struts Ti应该有Ruby on Rails级的易用性,并为大型应用提供向JSF的平滑过渡(如果需要)。” Ruby on Rails级的易用性--Struts Ti实现了基于java的RoR框架?其实也没关系,只要简单易用就行了。现在Struts文档还没有完成,2.0.0版8月份才能发布,到时候看看吧。 另: “目前struts2正在开发中,如果现在就想升级到struts2,开发组推荐webwork2作为切入点。当然你也可以等一等,struts2预计今年3季度发布,不管是使用webwork2或struts1,都不用担心,struts2发布的时候,会包含webwork2、struts1的移植机制。” 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-07-29
从struts1移植?如果能实现ror的境界……我宁愿重写一次
|
|
返回顶楼 | |
发表时间:2006-07-29
bluemeteor 写道 从struts1移植?如果能实现ror的境界……我宁愿重写一次
建议老项目老办法,新项目新办法。移植是为了向下兼容,但很爽的移植不多见。既然宣称有Ruby on Rails 和 NanoWeb的简单性、WebWork2的精巧性、Beehive的友好性,新项目还是直接用Struts2比较爽。 |
|
返回顶楼 | |
发表时间:2006-07-29
tianxinet 写道 bluemeteor 写道 从struts1移植?如果能实现ror的境界……我宁愿重写一次
建议老项目老办法,新项目新办法。移植是为了向下兼容,但很爽的移植不多见。既然宣称有Ruby on Rails 和 NanoWeb的简单性、WebWork2的精巧性、Beehive的友好性,新项目还是直接用Struts2比较爽。 为什么任何时候看到三个月以前写的代码....总觉得惨不忍睹 |
|
返回顶楼 | |
发表时间:2006-07-29
Webwork的Lead老兄Pat Lightboy在n年前就在自己的blog上面宣称,webwork2.2和RoR没有啥区别,只不过一个是Java实现,一个是Ruby实现。
你相信他的话吗? |
|
返回顶楼 | |
发表时间:2006-07-29
RoR是全套的,包括MVC, ORM。
WebWork是MVC。 如果只是从Controller来看,确实有些像。 WebWork也可以配制成不使用 action的 execute方法,而可以任意指定一个方法名。 另外就是缺少了 url pattern -> action name, method name 的mapping convention。 据说在 action interceptor里面做一个这样的 url pattern -> action method, 并不是很难。只是这么做和这么用的人不多。 如果 web work 的 view 只是采用 jsp ,那就更像了。:D 前后台的code都是同一种语言 java。正如 RoR的前后台语言都是ruby。 Just Kidding. RoR的一些convention 可以学到,但里面更关键的特性是靠着语法能力支撑的,很难移植到java。 java 6 script, java 7 dynamic, reflection enhancemeng之后,可能比较容易。 |
|
返回顶楼 | |
发表时间:2006-07-30
引用 另外就是缺少了 url pattern -> action name, method name 的mapping convention。
public String doInput(){ return INPUT ; } url = testAction!input.action 这样不是吗? |
|
返回顶楼 | |
发表时间:2006-07-30
tiyi 写道 引用 另外就是缺少了 url pattern -> action name, method name 的mapping convention。
public String doInput(){ return INPUT ; } url = testAction!input.action 这样不是吗? thanks. 知识严重过时。 去年使用webwork的时候,还在网上讨论过如何实现这个convention。 现在已经有了。 convention over configuration。 这个url能够直接映射到 class name ? 不用config ? 待我查查,是如何处理class name 的 package name的。 ----------- 题外话。 不过,这种url mapping convention(无论是RoR的,还是webwork的,还是 others)都是远远不够的。比如,对于多级module的支持。 /model1/submodule3/actionName/methodName/paramters... |
|
返回顶楼 | |
发表时间:2006-07-30
在webwork中,你所谓的module在webwork里面的术语叫做namespace,看一下webwork的文档,你想要的功能webwork都已经有了。
|
|
返回顶楼 | |
发表时间:2006-07-30
thanks robbin.
webwork的 package name 和 namespace config,这个功能,在我以前用webwork的时候,已经有了,我看到过这部分。 不过,和struts module config 差不多。属于一种简单的helper。 module (namespace) 之间不存在层次关系,是一个 flat 结构。 和简单的 url -> action 并没有本质不同。 我指的是,zope, RoR, webwork, struts等的简单url mapping convention无法达到类似 xlink + xpointer 那样的丰富的分层分级别的寻址和mapping。 /model1/submodule3/actionName/methodName/paramters.. 这里其实是一个分级module 。上一层module包括下一层module。 每一层module有自己的 dispatcher,而不是都定义在一个或几个统一的 mapping config file中。 这样的好处是,几乎不需要config, 只需要很少的convention pattern config。增加一个或这个多个,一级或者多级module 的时候,也不需要重新刷新读取整个 config part。 |
|
返回顶楼 | |