Grails 1.3.7
リストコンテンツを持つコマンドオブジェクトのデータバインディングに問題があります。コマンドの例:
class Tracker {
String name
String description
List<Unit> units = new ArrayList()
}
class Unit {
String name
Long unitMax
Long unitMin
}
TrackerのGSPの作成にはUnitフィールドがあります。一例:
<g:textField name="units[0].unitMax" value=""/>
TrackerController保存メソッド:
def save = { Tracker trackerInstance ->
trackerInstance = trackingService.saveOrUpdateTracker(trackerInstance)
}
ただし、常にjava.lang.IndexOutOfBoundsException
または、コントローラーを次のように更新した場合:
def save = {
Tracker trackerInstance = new Tracker()
trackerInstance.properties = params
....
次に、groovy.lang.ReadOnlyPropertyException:読み取り専用プロパティを設定できません:クラスのプロパティ:com.redbrickhealth.dto.Tracker何かアイデアはありますか?
GORMオブジェクトとCommandオブジェクトのバインディングには違いがあるようです。
たぶん、UnitのPropertyEditorSupportを拡張して登録する必要がありますか?
-トッド