grails模板中提供的变量

时间:2016-01-03 10:20:57

标签: grails groovy grails-3.0.10

我正在尝试编辑grails脚手架模板以在create.gsp和edit.gsp中创建单个字段

如果我在create.gsp中添加以下内容

<%
        def d = new grails.core.GrailsDomainClass (collegeapplication.Student.class)
        d.persistentProperties.each {
            %>
    ${it}
    <%
        }
    %>

我得unable to resolve class grails.core.GrailsDomainClass 就此而言,我无法使用Groovy way to dynamically instantiate a class from String中列出的任何常用方法加载我的任何域类 或在Get domain class field names

有什么想法吗?

我想要的最终结果是代替 <f:all bean="parentsInfomormation"/> 我想生成generate-all命令 每个属性<f:field bean="person" property="name"/>

1 个答案:

答案 0 :(得分:1)

使用grails 3.x中的scaffolding插件,无法实现您想要实现的目标。在为域生成模板时,scaffolding插件不会加载任何域类,也可以说它不会加载grails应用程序。

Scaffolding插件使用create-script生成的脚本生成模板。

  

在Grails 3.x中,无法在a中加载Grails应用程序   由create-script命令创建的代码生成脚本。

有关详细信息,请阅读此link

所以你有两个选择:

  1. 使用create-command创建您自己的脚手架任务,如上面给出的链接中所述。
  2. 使用scaffolding插件并扩展FormFieldsTagLib以定义<f:all bean=""/>代码的自定义行为。