使用grails开发Web应用程序-不知道它到底是如何工作的

使用grails开发Web应用程序-不知道它到底是如何工作的,grails,groovy,Grails,Groovy,我对Grails非常陌生,我试图了解它是如何工作的。我做了一些教程,并用mysql数据库连接编写了一个示例应用程序。使用def scaffold=true,我得到了三个表、三个域类和三个控制器。因此,视图是自动生成的。现在我可以添加和删除和。。。我的表中的数据。这很有效 但是现在我不知道如何继续下去。我的意思是,创建这些表格并填充它们是很好的,而且很好,这是可能的如此之快,但是。。。现在我真的想开发一个应用程序!通常我使用Spring框架、Spring安全性、Spring MVC等来生成web应

我对Grails非常陌生,我试图了解它是如何工作的。我做了一些教程,并用mysql数据库连接编写了一个示例应用程序。使用def scaffold=true,我得到了三个表、三个域类和三个控制器。因此,视图是自动生成的。现在我可以添加和删除和。。。我的表中的数据。这很有效

但是现在我不知道如何继续下去。我的意思是,创建这些表格并填充它们是很好的,而且很好,这是可能的如此之快,但是。。。现在我真的想开发一个应用程序!通常我使用Spring框架、Spring安全性、Spring MVC等来生成web应用程序。在那里,一切都合乎逻辑。我有提交的请求、到控制器的映射、处理请求的类、返回的答案、呈现的JSP。。。。合乎逻辑

在Grails中,我甚至不知道从哪里开始真正的应用程序!我找到的所有教程都显示了相同的内容:设置这些表并能够填充它们,很好,很好-但是在那之后呢

我在哪里保存“main.gsp”。我需要控制器吗?启动时应用程序如何重定向到“main.gsp”

我在哪里可以定义“真正的逻辑”-我想开发一个类似“有多个答案的问题-尝试选择正确答案”-的应用程序。嗯,我必须承认,我真的不知道从哪里开始。我看不到控制器的使用以及在我的应用程序中将数据添加到我的表中的可能性。这适用于管理员,但不适用于用户

谁能给我一个如何继续下去的提示吗?或者,也许有人知道一个好的教程,它不是关于“设置域类、使用scaffold的控制器、向数据库添加数据”的,我看不出它有什么意义

谢谢你的帮助!:-)


[编辑]谢谢你的回答!服务,这正是我想要的。我想我必须更熟悉它。这些教程让我很困惑,但现在我更明白了

以下是有关控制器的信息:


你也可以用同样的手册来查找其他东西的信息。例如,关于将业务逻辑放在何处,您应该在第章中阅读。

从“Grails in Action”开始。第一章将为您提供有关CRUD示例应用程序创建的详细信息,但进一步阅读后,您将更好地理解grails流程。服务用于逻辑,控制器用于委派。您不需要像Struts、Spring那样进行显式xml映射,因为这里的一切都是按照约定进行的

如果您熟悉Spring和SpringMVC,grails中的概念应该不会让您感到惊讶。Grails实际上在幕后使用SpringMVC

Grails可以像您在教程中尝试的那样自动生成域类、控制器和视图。这是为您的应用程序提供一个起点。这对于那些教科书教程来说已经足够了。但对于实际应用程序,您可能并不总是拥有1个域类到1个控制器到1组视图。您可能并不总是在该域上执行CRUD操作。为此,您需要对Grails进行更深入的研究。您可以在Grails中完成以前在SpringMVC中所做的一切

这里有一些链接可以帮助您开始

如果你想更好地理解“流程”。如何将请求映射到控制器/视图,请查看配置目录中的UrlMappings.groovy。位于此处的文档:

如果您试图更好地理解控制器,请查看以下内容:。请记住,控制器不需要处理域模型。这只是默认约定。它们的工作原理类似于Spring MVC控制器


模型在Grails中很简单。通常,控制器只返回要返回的项目的映射。在SpringMVC中,您通常创建一个模型对象,在Grails中,大多数时候您将返回类似于[name:bean1,name:bean2]的内容。这可以让你很容易地在VIE中获得这两颗豆子。

维沙尔·莱卡、克里斯托弗·贾德、约瑟夫·费萨尔·努赛拉特和吉姆·辛格勒阅读。他们在整本书中构建了一个真正的web应用程序,包括模型、数据库访问、身份验证、css、模板和布局,以及许多其他内容

希望:)因为我已经有了一个Grails的副本^\u 0并很快开始了我的旅程:)有很多使用Grails的资源。是否有任何资源可以从内部解释它是如何工作的?也就是说,当我键入url并打开web应用程序时,会发生什么情况?当我点击某个链接时会发生什么?换句话说,控制权是如何通过特定的动作被分派给特定的控制器的?