技术开发 频道

精通 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 的默认搭建,那么在页面底部就应该出现新的页脚。

0
相关文章