0

コントローラーに次のコードがあります。

def cols = grailsApplication.getDomainClass('com.archie.Build').persistentProperties.collect {it.name}

上記のコードにより、Build クラスにあるすべてのプロパティ名を一覧表示できます。ここで、プロパティのデータ型も含めたいと思います。ブール値、文字列など...

出力は次のようになります。

[floorType:String, floorWidth:Float, ......]

まったく同じではないか、似ているかもしれませんが、データ型を返すことができる限り。誰か助けてくれませんか?ありがとうございました。

4

1 に答える 1

1

の各エントリpersistentPropertiesGrailsDomainClassPropertyClassであり、これによりプロパティの型にオブジェクトとしてアクセスできます。

def props = [:]
grailsApplication.getDomainClass('com.archie.Build'
    ).persistentProperties.each {
      props[it.name] = it.type.name
    }

または、persistentProperties配列自体を GSP に渡し、そこから抽出.name.typeます。

constrainedPropertiesの代わりに/に加えて使用することを検討することもできますpersistentProperties。マップには、ドメイン クラスの制約ブロックで言及されているプロパティのみが一覧表示されますが、このconstrainedPropertiesマップの反復子は、制約に一覧表示されている順序でプロパティを返すことが保証されています。persistentPropertiesこれは、配列の順序を制御する方法を知らないため、デフォルトの足場がどのように機能するかです。

于 2013-02-27T09:28:21.347 に答える