我正在调查我们新项目中与spring一起使用的表示层。我来自PHP + Prado,希望转向像Prado这样简单且比PHP更强大的东西。
我喜欢Spring 3和Spring MVC。学习和开始工作非常简单。但我正在寻找比简单的jsp更好的“视图框架”。我需要简单的组件,因为Datagrids,Lists,Trees支持拖放。我已经创建了SpringMVC + Spring Web Flow 2 + Spring Faces + JSF配置,但是在那里创建简单的东西非常复杂。我需要更简单的东西。
你有什么想法吗?
答案 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 UI或ExtJS相结合,您将获得一个非常简单但非常有效的环境。当然,从速度的角度来看,这让人想起用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版本)。