精通 Grails: 用 Groovy 服务器页面(GSP)改变视图
自定义默认搭建
有了一些良好的、可测试的、可重用的组件之后,可以将它们做为默认搭建的一部分。这部分内容是在将 def scaffold = Foo 放入控制器之后动态生成的。默认搭建也是输入 grails generate-views Trip 或 grails generate-all Trip 时生成 GSP 的来源。
要定制默认搭建,请输入 grails install-templates。这样会在项目中加入新的 grails-app/src/templates 目录。应该看到三个目录,名为 artifacts、scaffolding 和 war。
artifacts 目录容纳各种 Groovy 类的模板: Controller、DomainClass、 TagLib,等等。例如,如果想让所有控制器都扩展一个抽象父类,那么可以在这里进行修改。全部新控制器都将基于修改过的模板代码(有些人会加入 def scaffold = @artifact.name@,这样动态搭建就会成为所有控制器的默认行为)。
war 目录包含所有 Java EE 开发人员都熟悉的 web.xml 文件。如果需要添加自己的参数、过滤器或 servlet,请在这里进行操作(JSF 爱好者们:注意到了吗?)在输入 grails war 时,这里的 web.xml 文件就会被包含到生成的 WAR 内。
scaffolding 目录包含动态生成的视图的原始内容。请打开 list.gsp 并将
调整了列表视图之后,现在需要验证修改是否生效。对默认模板的修改是少数需要重新启动服务器的操作之一。Grails 重新启动之后,请用浏览器访问 http://localhost:9090/trip-planner/airline/list。如果正在使用 AirlineController 的默认搭建,那么在页面底部就应该出现新的页脚。