5

私は現在 Cobra: Java HTML Renderer & Parser を使用して、Java アプリでのユーザーの選択に基づいて動的に生成される HTML ページをレンダリングしています。

私のアプリでは、ユーザーは何百ものアイテムを選択できます。アイテムは、特別な一意の色のシンボルの形で表示され、ユーザーは複数のアイテムを選択できます。

多数の項目が選択されると、記述された説明が動的に生成され、css2 および html4 タグを含むようにフォーマットされ、Cobra HTMLPanel に読み込まれて表示されます。

HTMLPanel 内のアイテムの説明を記述したシンボルの画像を表示したいと考えています。

これを行う 1 つの方法は、ImageIO.write を使用して BufferedImage をファイルに保存し、HTMLPanel に読み込まれている動的に生成された HTML ドキュメントに img html タグを含めることです。残念ながら、ユーザーが何百ものシンボルを選択している可能性があるため、これは受け入れられません。その結果、何百もの ImageIO.write 呼び出しが発生し、アプリのパフォーマンスが大幅に低下します。

別の方法として、次のように BufferedImage を Base64 エンコーディングに変換し、エンコーディングを HTML ドキュメントに直接配置することもできます。

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />

残念ながら、HTMLPanel はデータ URI スキームを無視しているようです。

誰かが解決策を知っていますか?

4

1 に答える 1

1

Jetty などの埋め込みサーブレット コンテナーを使用します。URL を「http://localhost:somePort/imageId」にポイントし、それらの URL をメモリから提供します。

于 2011-02-15T13:23:16.497 に答える