grails エクスポート プラグインを使用して、ドメイン クラスのエクスポート可能ファイルを xls および csv ファイルに取得したいと考えています。
front.gspという名前のメイン レイアウトでは、次のようにしました。
<!DOCTYPE html>
<html lang="en">
<head>
...
<g:layoutHead />
</head>
<body>
<sec:ifLoggedIn>
<r:require module="export"/>
<export:formats formats="['csv', 'excel', 'ods', 'pdf', 'rtf', 'xml']" action="exportTest" />
...
<g:layoutBody />
<r:layoutResources/>
<script type="text/javascript" src="${resource(dir: 'js', file: 'jquery.min.js')}"></script>
<script type="text/javascript" src="${resource(dir: 'js', file: 'bootstrap.min.js')}"></script>
<script type="text/javascript" src="${resource(dir: 'js', file: 'application.js')}"></script>
</body>
</html>
私のDomainClassController.groovyに私はそれをしました:
def exportTest() {
if(!params.max) params.max = 10
if(params?.format && params.format != "html"){
response.contentType = grailsApplication.config.grails.mime.types[params.format] response.setHeader("Content-disposition", "attachment; filename=contacts.${params.extension}")
exportService.export(
params.format,
response.outputStream,
ContactDTO.list(params),
[:],
[:])
[contactDTOInstanceList: ContactDTO.list( params )]
}
}
また、exportTest.gspという名前のビューをコントローラーのビュー フォルダーに作成します。ファイルを空にして、404 問題を一時的に解決します。
エラー メッセージは表示されませんでしたが、エクスポート ボタンをクリックすると、自分のページexportTest.gspにリダイレクトされ、ファイルがダウンロードされません。
grails export plugin を使用してダウンロードしたファイルを取得するにはどうすればよいですか? ユーザー ガイドに従っていますが、エラーはありません (解決済み) が、ファイルは作成されません。
読んでくれてありがとう !
スナイト
編集:エクスポートリンクをクリックすると、生成されたURLが次のようになることがわかります:
http://localhost:8080/site/controller/action?format=excel&extension=xls
しかし、奇妙なことに、「println params」をコントローラーに作成すると、出力は次のようになります。
[extension:xls, action:exportTest, format:null, controller:contactDTO, max:10]
params.format は null ですが、url に設定されています ?!!!
そのようにURLを変更します(およびコントローラーコードを適応させます):
http://localhost:8080/site/controller/action?formatD=excel&extension=xls
次のエラーを教えてください:
Firefox ne peut trouver le fichier à l'adresse http://localhost:8080/site/controller/action?formatd=excel&extension=xls.