为jQuery选择哪个Java Web框架?
问题内容:
我正在寻找一个Java Web框架,该框架可让我充分使用jQuery,例如.NET平台上的ASP.NET MVC。
有什么建议吗?
问题答案:
如果您想用Java的jQuery着迷,那就去寻找基于请求/动作的MVC框架,例如Struts
1.x
,Spring
MVC
,Stripes或Play等等。其中,Spring
MVC是最合适的。
基于组件的MVC框架(如JSF,Struts
2.x,Wicket,Echo,GWT等)允许对输出进行较细粒度的控制。您必须执行一些特定的技巧/变通办法,以使jQuery与服务器端的组件树无缝通信。例如,仅启用一个禁用的HTML复选框$('#elementid').attr('disabled', false)
是不够的。您还必须以某种方式通知服务器端视图状态的更改,否则它仍然认为它已被禁用,因此不会应用/处理任何已提交的请求参数。
在其中的某些组件中,特别是JSF组件库(如PrimeFaces和RichFaces),jQuery(UI)被集成为外观的一部分和/或用于“
Ajax的工作”。在PrimeFaces中,例如jQuery
UI手风琴实现为<p:accordionPanel>
。在RichFaces中,甚至还有一个特殊的组件来触发jQuery函数并保持服务器状态更新<rich:jQuery>
。
总而言之,如果您想要完全的jQuery自由,那么基于请求/操作的MVC框架是最佳选择。如果您不一定需要100%的客户端自由度,那么基于组件的MVC框架提供了集成了jQuery的库是一个足够的选择。