Spring 3的最佳视图层是什么?

时间:2010-03-05 11:33:09

标签: java spring jsp jsf spring-mvc

我正在调查我们新项目中与spring一起使用的表示层。我来自PHP + Prado,希望转向像Prado这样简单且比PHP更强大的东西。

我喜欢Spring 3和Spring MVC。学习和开始工作非常简单。但我正在寻找比简单的jsp更好的“视图框架”。我需要简单的组件,因为Datagrids,Lists,Trees支持拖放。我已经创建了SpringMVC + Spring Web Flow 2 + Spring Faces + JSF配置,但是在那里创建简单的东西非常复杂。我需要更简单的东西。

你有什么想法吗?

7 个答案:

答案 0 :(得分:11)

在Java EE中,目前只有2种视图技术:JSP和Facelets。 JSP很老,即将退休。 Facelets更新更好,并且在设计时充分考虑了JSF,以便它们彼此平滑地适应。

但Spring MVC和JSF实际上是竞争对手。他们都有大致相同的目标和宗旨。你应该使用其中一个而不是混淆它们。在一个页面中混合使用两个或多个MVC框架并不能完美地工作。但是,您可以将Spring作为DI和/或Security框架与JSF结合使用作为MVC框架。 Spring提供的不仅仅是MVC。

basic JSF Component implementation中没有提供支持Datagrids,Lists,Trees拖放等组件的功能。为此,您需要一个组件库,例如PrimeFaces

另见

答案 1 :(得分:4)

我在过去的3年中使用过Jboss Seam + Richfaces并发现它们都很有用,但如果我是你,我还会查看Play Framework。它有Spring support并与jQuery UIExtJS相结合,您将获得一个非常简单但非常有效的环境。当然,从速度的角度来看,这让人想起用PHP开发。

答案 2 :(得分:3)

如果你想要那些丰富的控件,那么就可以采用某种JSF框架了。但标准的JSF框架设计得很差,而且不够优雅。

您应该查看JBoss Seam作为替代方案。它是一个使用EJB3和JSF的自上而下的Web框架,它集成得非常好,使JSF比原本更容易。

但是,它不是基于Spring的,所以如果你的心被设置在Spring上,那么你需要查看其他JSF实现,例如RichFaces

Spring WebFlow对你来说根本不是必需的,所以除非你有充分的理由,否则我会忽略它。

答案 3 :(得分:1)

Jboss Seam提供您想要的一切。它适用于Spring,但它本身提供了许多内置功能。<​​/ p>

答案 4 :(得分:1)

一个非常强大且轻量级的基于MVC动作的框架是Stripes,试一试!

答案 5 :(得分:1)

Angular或GWT也可以作为正确使用的替代方案。

答案 6 :(得分:1)

当您来自PHP时,JSP可能是比JSF更适合的视图技术

如果必须使用Spring,请使用Spring 4(而不是3)

Checkout Spring Boot以获得更快速的开发等。

如果您正在开发一个Web应用程序,并且SEO并不重要,我个人会使用Javascript Framework + Restful Web服务来查看单页根目录。我注意到你提到了Spring WebFlow + Components。我的意见是这些太重量了

如果SEO很重要,那么使用SSP(Scala Server Pages)检查Play Framework(我更喜欢Scala版本)。