0

liferay ポートレットにカスタム オブジェクトのリストを表示しています。今私の問題は、エクスポート機能をユーザーに提供したいということです。リストの下にエクスポート リンクが表示されます。ユーザーがそのボタンをクリックすると、表示されたリストが Excel ファイルとしてダウンロードされます。

表示用のリストを生成しているときにExcelファイルを生成しています.So、今私の問題は、エクスポートリンクがどのように動作するかです。

私のエクスポートボタンのコード。

<portlet:actionURL name="exportURL" var="exportURL"></portlet:actionURL>
 <p><a href="<%=exportURL %>">&larr; Export</a></p>

私が考えている1つのアプローチは、Excelファイルを生成した後、Liferayのドキュメントライブラリにアップロードしてから、ダウンロードリンクをポートレットのエクスポートリンクとして提供することです。これは良いアプローチですか?

4

3 に答える 3

2

を使用する代わりに、 を使用<portlet:actionURL>します<portlet:resourceURL>。これにより、ポートレットのリソース フェーズがトリガーされ、HTML スニペット以外のコンテンツ タイプ (Excel タイプなど) を提供できます。

Excel エクスポート自体は既に成功しているように見えますが、ポートレット UI からエクスポートする方法を知りたいだけですよね? とオブジェクトserveResourceを取得し、応答 (およびその)の Mimetype を設定できます。ResourceRequestResourceResponseOutputStream

于 2013-08-02T20:17:29.153 に答える
1

adarshr が質問へのコメントに書いているように、ユーザーがエクスポート用のリンクをクリックした後にのみ、ファイルを生成する必要があります。リストがポートレットに表示されるたびに、ファイルを生成してダウンロード センターにアップロードすると、サーバー リソースが無駄に消費されます。

于 2013-08-02T16:27:35.507 に答える