Cod*_*kie 1 java spring tapestry spring-mvc
我目前正在尝试将Spring3与Tapestry 5.3进行比较.我自2003年以来一直是Tapestry用户,所以我倾向于偏见,只是因为我没有使用Spring的经验.我看到Spring被大多数编写java应用程序的公司广泛采用,因此它迫使我为我的新网络应用程序看一看.我目前的目标是构建一个非常丰富的javascript应用程序,只需很少的配置和各种可用的组件.我对Tapestry5最大的抱怨是它设计用于Prototype库.
有人可以向我提供Spring3的正面和负面信息,以及为什么公司会选择在Tapestry5上构建Spring3?我搜索了谷歌,似乎我发现的唯一比较已过时.谢谢.
我必须为我工作的公司做一个小概念验证.我查看了Spring MVC 3和Tapestry 5.
对于那些没有使用Tapestry的人来说,它有非常好的UI流程约定,例如.按下或按下链接的按钮.您的Page类中的所有内容都是ThreadLocal也很好,因此您不必担心该级别的并发性.
另一方面,我不喜欢Tapestry对Ajax的支持.它有自己的标签用于执行ajax操作(区域等),但很难做到
$.ajax({
url: "tapestry_page",
success: function(result) {
// do something with json result
}
});
Run Code Online (Sandbox Code Playgroud)
因为挂毯接受的返回类型.你说你的项目将是javascript丰富的,这可能意味着很多ajax.仅仅因为这个原因,我会选择Spring.您只需注释您的@Controller方法,@ResponseBody您返回的任何内容都将直接写入响应正文.这对于直接编写json或xml很有用(在大多数情况下,这是使用Jackson或JAXB自动生成的).
对于Spring,最大的好处是它是一个非常成熟的项目,所以你需要的一切,有人可能在你之前需要它并且有一个解决方案可用(不是Tapestry不是这样,但是Spring存在更多的文档).
Spring的一些消极因素:它与Servlet的方式非常紧密地结合在一起,doGet并且doPost表单处理之类的事情不像Tapestry的表单生命周期那样具有内聚性.如果您正在进行大量的同步操作,Tapestry的Page概念非常好,可能还有很长的路要走.
我不确定Tapestry是否已经达到了可以在没有xml的情况下配置整个应用程序的程度,但Spring已经实现了.这可能对你有利.
我的2美分.
| 归档时间: |
|
| 查看次数: |
4775 次 |
| 最近记录: |