Grailsの学習を始めたばかりです。私は現在Exportプラグインを使っています。私はGSPと送信ボタンにテーブルを持っています。ボタンをクリックすると、テーブルデータ(ドメインクラスのインスタンス)が.csvファイルにエクスポートされます。誰もこれで私を助けることができますか?私は、ドメインモデルのインスタンスIDを保持するテーブルに、jQueryでidをすべて取得し、AjaxでJSONとしてコントローラのアクションに送信し、exportServiceに渡すよりも、隠しフィールドを持つことができると推測しています。 $ .ajaxメソッドなどを使うべきですか?それともアヤックスなしでこれを行う方法がありますか?コントローラへのGSPテーブルデータの送信
私はGrailsとjQuery/Ajaxの両方に新しいので、いくつかの簡単な例が素晴らしいでしょう。ありがとう。
EDIT:
def results = bookCriteria.list(max: params.max as Integer, offset: params.offset as Integer) {
and {
'eq'("category","history")
ne("status", "Rented")
}
}
if(params?.format && params.format != "html"){
response.contentType = ConfigurationHolder.config.grails.mime.types[params.format]
response.setHeader("Content-disposition", "attachment; filename=report.${params.extension}")
exportService.export(params.format, response.outputStream, results, [:], [:])
}
私はコントローラでこのような何かを持っています。しかし、最初の50行しか返さない(ページングのため)。ページングを管理するが、すべての対応する行をエクスポートする方法
はい、すべてのドメインクラスインスタンスをエクスポートしたくない場合はどうしますか?たとえば、何らかのフィルタリングをGSPテーブルで行った場合、私のドメインクラスインスタンスは一部しかありません。何か不足していますか? – johndoe
これは単なる例です。 'Book.list(params)'をインスタンスの他のリストで置き換えることができます。エクスポートするインスタンスのリストを作成するには、すべての種類のgroovy/grailsメソッド([criteria](http://grails.org/doc/latest/ref/Domain%20Classes/createCriteria.html)、[query] (http://grails.org/doc/latest/ref/Domain%20Classes/executeQuery.html)、[finder](http://grails.org/doc/latest/ref/Domain%20Classes/findAllBy.html)など)を使用して、却下したインスタンスを選択します。 GSPテーブルのインスタンスをどのようにフィルタリングしましたか? – aiolos
私はdef bookList = Book.executeQuery( "select ...")のようなものを実際に使って、これをGSPに渡しました[bookInstanceList:bookList、bookInstanceTotal:bookList.count()] – johndoe