seamを使用して既存のWebアプリケーションに 'エクスポート'機能を追加する必要があります。目的は、検索結果をCSVファイルにエクスポートすることです。私はcsvを生成するのに問題はありませんが、どのようにcsvをユーザに送り返すのか分かりません。 サーバ上にcsvを格納する必要はありません。なぜなら、それは、ストレージスペースが腰掛けられるからです。 jbossの継ぎ目でどうしたらいいですか?いくつかの方法がありますjboss seamでファイルを生成してダウンロードする
1
A
答えて
5
Seamが提供するDocument Store Servletを使用してください。ほとんどの参照ドキュメントからコピー&ペースト
、このようなweb.xml
でサーブレットを宣言する:
<servlet>
<servlet-name>Document Store Servlet</servlet-name>
<servlet-class>org.jboss.seam.document.DocumentStoreServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Document Store Servlet</servlet-name>
<url-pattern>/seam/docstore/*</url-pattern>
</servlet-mapping>
のみ<s:resource>
タグとexport.xhtml
ファイルを作成します。ダウンロードするためのリンクを生成します
<s:resource xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
data="#{myComponent.csvData}"
contentType="application/vnd.ms-excel"
fileName="#{myComponent.csvFileName}"/>
をあなたのページのファイル:<s:download>
:
<s:download src="/csv/export.xhtml">
<h:outputText value="Download CSV"/>
<f:param name="param1" value="somevalue"/>
<f:param name="param2" value="someOtherValue"/>
</s:download>
(あなたが
propagation=none
を設定していない場合)
<s:download>
が会話を伝播することを
// could be byte[], File or InputStream
public InputStream getCsvData() {
// generate data to be downloaded
}
public String getCsvFileName() {
return "myfile.csv";
}
注:10
最後に、あなたのコンポーネントでgetCsvData()
とgetCsvFileName()
メソッドを実装します。おそらくあなたは会話のコンテキストを伝播する場合は、パラメータを渡す必要はありません。大規模なデータセットの場合、会話を伝播せず、リクエストスコープのコンポーネント内のデータを選択するためにパラメータを渡すのが望ましい場合があります。
0
:
1)プログラムであなたのファイルを生成して、CSVに設定されたMIMEタイプを使用してそれを書き出すようSeam-Excelを使用して情報のためのシームのドキュメントを確認してください - これはすべての詳細ですドキュメント内にあります。
しかしSeamの最新バージョンではこれを動作させることができませんでした。これは以前はSeamコンテキストから利用可能でしたが、現在はnullのみを返すレスポンスオブジェクトが必要です。
2)Excel xhtmlテンプレート(Seamのドキュメントとサンプルプロジェクトを参照)として必要なCSVファイルをコーディングし、単純にタグを使用して通常のようにレンダリングします。
私はこれを定期的に行いますが、正常に動作します。ファイル名を指定できないという制限があります。
HTH。
関連する問題
- 1. JBoss Seam - ViewExpiredException
- 2. JBoss Seam training
- 3. Arquillian、Tomcat、Jboss Seam 2
- 4. JBoss Seamプロジェクトのエラー
- 5. jbossを使用して毎分HTMLページコンテンツを更新するSeam
- 6. JBOSS SeamでXHTMLを使用しています
- 7. zk ajaxフレームワークとJBoss Seam
- 8. JBoss 7.1とSeam 2.2 - キャッシュ?
- 9. ボタン付きJBoss Seamキャンセルリクエスト
- 10. 流星 - クライアント側でファイルを生成してダウンロードする
- 11. Yii2はZipファイルを生成してダウンロードする - YII2.0で
- 12. Flaskで.docxファイルのフォルダを生成してダウンロードする
- 13. PDFファイルをリモートJBossサーバーに生成
- 14. Mavenでjboss seam buildをセットアップして、サーバのダウンロードと設定を行う方法は?
- 15. JBoss Seamが外部Jarコンポーネントをスキャンしていません
- 16. ファイルを生成するurlからダウンロード
- 17. ASP.NETがファイルを生成して接続リセットをダウンロードする
- 18. Jboss/Seamアプリケーションを新しいバージョンに移植する
- 19. Wordダイアログからファイルを生成してダウンロードする
- 20. 不可能なテックスタック? Jboss/Seam/Resteasy/Hibernate/Maven
- 21. SEAMプロジェクトはJBoss ASで動作しますか?
- 22. テキストをダウンロードしてShinyでtxtファイルを生成
- 23. JbossクラスがJboss開発スタジオでエラーを生成する
- 24. 開発環境Java 6、Maven 2.x、Eclipse 3.4.x、JBoss 5、JBoss Seam
- 25. Javaはcsvファイルを生成してダウンロードします
- 26. JBoss AS 6でseam-mailが動作しない
- 27. JBoss 7.1にSeam 2.2アプリケーションをデプロイする際のエラー
- 28. アノテーションをJBoss SeamからCDI(JEE6)に変更する
- 29. JSF 2.2 xhtmlを使用してPDFを生成する - Seamの代替?
- 30. Seam 2.2とJBoss Tools 3.1、なぜJBoss Toolsはもう機能しませんか?
あなたはステファノ! – jakob
私はこれを行っています(パラメータは一切渡していません)。ダウンロードリンクがレンダリングされますが、クリックするとアプリケーションはファイルをダウンロードするだけでなく新しいページに移動し、getCsvDataメソッドを新しいインスタンスで実行します。クラス(既存のページを裏付けているものと同じものではない)がすべてnullになるようにします。どんな考え? – tad604