我是Grails的新手,我试着了解它是如何工作的。我做了一些教程并编写了一个带有mysql数据库连接的示例应用程序。我有三个表,因此有三个域类和三个控制器使用def scaffold = true。因此视图会自动生成。现在我可以添加和删除...表格中的数据。那是工作。
但现在我不知道该怎么做。我的意思是,创建这些表并填充它们很不错,这很快就可以实现,但是......现在我真的想要开发一个应用程序!通常我使用Spring Framework,Spring Security,Spring MVC等来生成Web应用程序。在那里,一切都是合乎逻辑我有请求进入,映射到控制器,处理请求的类,给出的答案,jsps呈现....逻辑!
在Grails中,我甚至不知道从哪里开始真正的应用程序!我发现的所有教程都显示相同:设置这些表并能够填充它们,很好,很好 - 但之后呢?
我在哪里保存“main.gsp”。我需要一个控制器吗?启动时的应用程序如何重定向到“main.gsp”。
我在哪里可以定义“真实逻辑” - 我想开发类似“具有多个答案的问题 - 尝试选择正确的答案” - 应用程序。好吧,我必须承认,我真的不知道从哪里开始。我没有看到控制器的使用以及在我的应用程序中向表中添加数据的可能性。这是管理员而不是用户。
有人能给我一个如何继续的暗示吗?或者也许有人知道一个很好的教程,不是“设置域类,带脚手架的控制器,向数据库添加数据” - 我没有看到这么多的意义。
感谢您的帮助! : - )
[编辑]感谢您的回答!服务,这正是我想要的。我想我必须更加熟悉它。这些教程让我很困惑,但现在我明白了!
答案 0 :(得分:6)
如果您熟悉Spring和Spring MVC,那么grails中的概念应该不会让您感到惊讶。 Grails实际上使用了Spring MVC。
Grails可以像在教程中尝试的那样自动生成Domain类,控制器和视图。这是为您的应用程序提供起点。对于那些教科书教程来说,这通常就足够了。但是对于实际应用程序,您可能并不总是有1个域类到1个控制器到1组视图。您可能并不总是在该域上执行CRUD操作。为此,您需要深入了解Grails。您可以在Grails中完成以前在Spring MVC中所做的一切!
以下是一些帮助您开始使用的链接。
如果你想更好地理解'流动'。请求如何映射到控制器/视图,请查看配置目录中的UrlMappings.groovy。相关文档位于此处:URLMappings
如果您想更好地了解控制器,请查看:Controllers。请记住,您的控制器不需要处理域模型。这只是默认约定。它们的工作方式类似于Spring MVC控制器。
Grails中的模型很简单。通常,控制器只返回您要返回的项目的地图。在Spring MVC中,您经常创建一个Model对象,大多数时候在Grails中,您将返回类似[name:bean1,name2:bean2]的内容。这使您可以轻松地在竞争中获得这两个bean。
答案 1 :(得分:3)
从'Grails In Action'开始。第一章将为您提供有关CRUD示例应用程序创建的详细信息,但在进一步阅读时,您将更好地理解grails流程。服务用于逻辑,控制器用于委派。你不需要像在Struts,Spring中那样进行显式的xml映射,因为这里的所有内容都适用于Convention。
答案 2 :(得分:2)
以下是有关控制器的信息:Controllers
您也可以使用相同的手册查找其他内容的信息。例如,您应该在The Service Layer章节中阅读业务逻辑的位置。
答案 3 :(得分:1)
阅读Vishal Layka,Christopher M. Judd,Joseph Faisal Nusairat和Jim Shingler的Beginning Groovy, Grails and Griffon。他们正在整本书中构建一个真实的Web应用程序,包括模型,数据库访问,身份验证,CSS,模板和布局以及许多其他内容。