我是grails的新手。我现在正在处理我的脚手架模板,特别是在我的控制器上。每次生成控制器时,我都想要一个自定义的控制器,所以我使用了“install-template”。我总是在控制器上创建命令对象,是否可以将域类中的字段包含到生成的控制器中的命令对象中?我知道我必须在控制器模板中做到这一点,但我不知道如何编码,也不知道这是否可能。所以每次我使用generate-controllers时,Command对象上的字段都已经设置好了。
${className}Command implements java.io.Serializable{
constraints = {}
}
例如,我的Domain类如下所示:
class Person{
String name
int age
double height
}
我希望它通过编辑控制器模板,在我生成的控制器上的Command对象中自动生成我的域类的字段。有可能吗?感谢您分享您的知识。
发布于 2012-03-26 09:29:10
show.gsp
和list.gsp
模板都有基于域类创建字段的逻辑,你可以在那里看到它是如何做到的。
基本上,当您在模板中包含groovy代码时,可以使用domainClass
变量访问域类,然后可以通过迭代groovy返回的数组来打印属性声明,如下所示:
<%
domainClass.properties.each {
println " ${it.type} ${it.name}"
}
%>
发布于 2012-03-27 05:45:43
有趣的问题--为什么你认为你需要命令对象?这样,您就违反了dry原则。
因为您刚刚开始使用grails,所以您应该尝试使用grails,因为它是集成使用的,而不是试图增强它。
一旦创建了第一个功能齐全的grails项目,您就会看到grails设计的美妙之处--不需要隐式命令对象:-) --或者选择另一个框架
https://stackoverflow.com/questions/9868845
复制相似问题