我有两个Domain类:
class Product {
ProductType productType
int openingQuantity
int unitQuantity
Date dateCreated
Date lastUpdated
boolean active
static constraints = {
productType(blank:false,nullable:false)
openingQuantity(blank:false, nullable:false)
unitQuantity(blank:false, nullable:false)
active(nullable:false)
dateCreated()
lastUpdated()
}
}
和
class ProductType {
String name
Date dateCreated
Date lastUpdated
static constraints = {
name(nullable:false, blank:false,maxSize:50,validator: {
return !ProductType.findByNameIlike(it)
})
dateCreated()
lastUpdated()
}
}
当我使用Product.gsp产品时。它在下拉列表中将productType显示为id。但我的要求是在下拉列表中显示ProductType名称。谁能帮忙。
最佳答案
您可以在ProductType类上重写toString。
String toString() { name }
或者,假设您使用的是默认脚手架,请更改:
<g:select name="productType.id"
from="${com.ten.hp.his.pharmacy.ProductType.list()}"
optionKey="id"
value="${productInstance?.productType?.id}" />
通过添加
optionValue
,它看起来像:<g:select name="productType.id"
from="${com.ten.hp.his.pharmacy.ProductType.list()}"
optionKey="id"
optionValue="name"
value="${productInstance?.productType?.id}" />
关于grails - 域内域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10697088/