Grails不是替代品,它是围绕传统Java EE堆栈的抽象概念,一些非常受欢迎的库,如Spring和Hibernate,可以让你通过使用“约定优先配置”来加快速度。
Grails的一个组件是GSPs,groovy服务器页面,这是一个前端技术,MVC(模型视图控制器)范例中的V.您还拥有M(模型)和控制器的域对象,它们是C. Grails还具有的服务,它们最好放入MVC范例的M类(IMHO)中。因此,Grails中的模型安排为您提供了相对容易的持久性(使用hibernate),服务为您提供了业务逻辑和事务逻辑的高度可重用性,Controller只需为给定请求调用正确的逻辑并返回响应。
该响应的一部分是显示在屏幕上的内容。在一个简单的web应用程序中,GSP填补了这一角色 - 控制器告诉浏览器呈现一个特定的GSP,该GSP具有从控制器中调用的服务方法绑定的数据。然而,easy让控制器返回json,所以如果绑定到控制器的端点是ajax请求,客户端可以自己处理响应。
您可以在grails应用程序中使用任何前端技术。缺省值是GSP,它是JSP的扩展,它是传统Java堆栈的一部分,但您可以使用jQuery,Sencha,Sproutcore,Backbone,任何您想要的。在这种情况下,您将有一个GSP引导您的JavaScript代码,其余的将由客户端应用程序处理。