ドメイン クラス Report があり、参照されている子クラス Prompt があります。
レポートの編集ページでは、テーブル内のプロンプトの順序を並べ替えることができます。次に、ユーザーがレポートを実行しようとすると、そのページでプロンプトが上記の順序で表示されます。
Report edit.gsp ページのテーブルは、jQuery を使用して行のドラッグ アンド ドロップを許可し、表示順序番号を更新しますが、UI 側のみで、データベースにはまだ何も戻っていません。
この新しい順序を更新コマンドに戻せるようにしたいのですが、一生テーブルの行データを取得する方法がわかりません。
検索すると、ほとんどすべての結果がコントローラーからビューにデータを取得する方法であり、その逆ではありません。
これがテーブルコードのスニペットです
<table id="prompts">
<thead>
<tr>
<th>${message(code: 'prompt.name.label', default: 'Name')}</th>
<th>${message(code: 'prompt.description.label', default: 'Description')}</th>
<th>${message(code: 'prompt.required.label', default: 'Required')}</th>
<th>${message(code: 'prompt.displaySeqno.label', default: 'Display Order')}</th>
</tr>
</thead>
<tbody>
<g:each in="${reportInstance.prompts.sort{it.displaySeqno}}" status="i" var="prompt">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}" onclick='window.location = "${createLink(controller: "prompt", action: "edit", id: prompt.id)}"'>
<td>${fieldValue(bean: prompt, field: "name")}</td>
<td>${fieldValue(bean: prompt, field: "description")}</td>
<td>${prompt.required}</td>
<td class="displaySeqno">${prompt.displaySeqno}</td>
</tr>
</g:each>
</tbody>
</table>
そして、コントローラーで、私は試しました
params.list('displaySeqno')
しかし、空の配列を返すだけです。
コントローラー クラス内から displaySeqno の値を取得するにはどうすればよいですか?
ありがとう。