JSF(查看)+ Spring MVC糟糕的选择?即使在JSF成为官方EE规范之后,任何替代品?

Abh*_*bhi 4 java jsf facelets spring-mvc thymeleaf

我正在开始一个新的相当大的webapp,我使用Spring MVC完成MVC架构,我真的不想改变它.最重要的是,我正在寻找一种视图技术,最后用JSF关闭,因为JSF/facelets是官方EE规范,这意味着它们将成为未来.优质面孔看起来很有希望实现良好的用户界面.我知道JSF是一个MVC框架,我只想活跃它的视图部分以减少开发时间,同时实现良好灵活的响应式UI

但我在StackOverflow本身上发了几篇文章,禁止使用Spring MVC + JSF.就是这个

这个问题在2011年得到了解答,现在新的Java EE规范也已经发布,并且发生了许多变化.这一点仍然表明我们不应该使用JSF + Spring MVC吗?如果是真的,那么替代品是什么.对我来说一个看起来不错的选择是Thymeleaf,但只有让我感到不安的是忽略官方规范会是个好主意吗?

Ame*_*etC 6

JSF可能与Spring MVC集成在一起(我不太确定,看到我的答案末尾的链接),但它看起来并不适合我. 主要是因为JSF是基于组件的,而Spring MVC是基于动作的.在Spring MVC中,控制器执行处理并可以将结果传递给呈现视图的任何内容(jsp,html,thymeleaf,apache tiles等).Thymeleaf是一个很好的选择,我喜欢它的模板方法.

我建议使用其他替代方案而不是JSF:

  1. JS框架:

    我个人更喜欢这个用于我的项目,有很多选项可供选择,比如jQuery/jQuery UI,ExtJS等,用于创建视图.您可以将这些组合起来并使其元素与流体框架(如Bootstrap)一起使用,以便它们在所有屏幕尺寸上表现良好(不确定PrimesFaces/RichFaces组件在所有设备上的行为)

  2. 编译为JS的框架:

    这里有两个很好的框架可供选择 - Vaadin和GWT.我只使用了Vaadin而不是GWT所以不会对它做太多评论.如果您不想直接摆弄javascript,请选择此选项.

这是不正确的,只有如果您使用官方的Java EE规范,你可以与未来同步.HTML5,JS框架等未来就像JSF一样,如果不是更多的话!Ofcourse JSF最近看起来也不错(我还没有制作任何生产代码,不过已经在爱好项目中进行了探讨)但你最好不要单独使用它与PrimesFaces/RichFaces,而不是将它与Spring MVC结合使用.

在中间地带,您可以使用Facelets而不是Thymeleaf来模拟Spring MVC中的视图.另一方面,您可以将JSF与Spring DI一起使用,但正如我之前所说,不要将JSF及其组件库与Spring MVC混合使用.

更新:如果您绝对想要尝试,以下是一些链接: