为jQuery选择哪个Java Web框架?

我正在寻找一个Java Web框架,它允许我在.NET平台上使用jQuery,就像ASP.NET MVC一样。

有什么建议?

如果你想在Java中疯狂使用jQuery,那么请寻找基于请求/动作的MVC框架,如Struts 1.x , Spring MVC , Stripes或Play等。其中,Spring MVC是IMHO最体面的。

基于组件的MVC框架(如JSF , Struts 2.x , Wicket , Echo , GWT等)允许对输出进行较少的细粒度控制。 你必须做一些特定的hacks / workarounds让jQuery与服务器端的组件树无缝通信。 例如,通过$('#elementid').attr('disabled', false)启用禁用的HTML复选框$('#elementid').attr('disabled', false)是不够的。 您必须以某种方式通知服务器端有关视图状态的更改,否则它仍然认为它已被禁用,因此不会应用/处理任何提交的请求参数。

在其中一些,特别是像PrimeFaces和RichFaces这样的JSF组件库中,jQuery(UI)被集成为look’n’feel和/或“Ajax工作”的一部分。 在PrimeFaces中,例如jQuery UI手风琴实现为 。 在RichFaces中,甚至还有一个特殊的组件来激活jQuery函数并保持服务器端状态的更新,即

总而言之,如果您想要完全的jQuery自由,基于请求/操作的MVC框架是最佳选择。 如果您不一定需要100%的客户端自由,那么基于组件的MVC框架可以提供集成了jQuery的库。

也可以看看:

  • 请求MVC和组件MVC之间的区别
  • 当用户可以通过CSS,HTML,JavaScript,jQuery实现UI时,JSF的需求是什么?

结帐Grails 。 它与ASP.NET MVC具有相同的感觉。 它不是Java,而是Groovy,一种用Java构建的动态语言。 但是Groovy的语法类似于Java。

或者,如果你想要纯Java,你可以尝试Stripes ,尽管它不是像Grails这样的fullstack框架。

这不是一个可以回答的问题。 与.NET世界不同,Java世界在Web框架方面有很多选择(有些人说太多)。 每个人都有他们的最爱。 你要做的最好的事情就是尝试一下,看看哪种方式最适合

每个web框架,您可以完全控制您的HTML。 因此JSF不是一个选项,ASP MVC不允许你使用jquery的全部function。 即使使用普通的HTML也可以实现这一点。

但我个人喜欢grails。

仅供参考,jQuery被移植到GWT: GwtQuery对于那些想要使用java和api看起来像jQuery的人来说也许是一个很好的折衷方案

我推荐Struts 2框架。 它还有一个jquery插件,可以让你更轻松地使用jQuery开发你的客户端。

这个插件中有很多jQuery UI组件,你也可以添加其他jQuery库。

样本展示可以在http://struts.jgeppert.com/struts2-jquery-showcase找到