0

Jasper レポートの 1 つによって生成された HTML を IE7 で表示すると、次のように表示されます。

<BR /><BR />
<A name="JR_PAGE_ANCHOR_0_1">
<TABLE style="WIDTH: 1000px" cellSpacing="0" cellPadding="0" bgColor="#ffffff" border="0">
<-- table body omitted -->
</TABLE>

JRHtmlExporterParameter.HTML_HEADER パラメータを介して 2 つの BR タグが追加されます。これらのタグの後、レポート テーブルの先頭の前に、Jasper レポートによって生成された閉じられていないアンカー タグがあります。このタグが正しく閉じられていないという事実は、IE がレポートのテーブル全体をハイパーリンクしているため、レポートの書式設定を台無しにしています。私はこのアンカー タグを使用していないので、Jasper がそれを生成するのを防ぐことができれば、問題は解決します。

ちなみに、この問題は IE でのみ発生します。Firefox では、アンカー タグが適切に閉じられているため、すべて正常に動作します。

前もってありがとう、ドン

4

2 に答える 2

2

私はPhilのアドバイスを受けて、Jasperのソースコードを調べました。問題を修正してプロジェクトに提出しました。原因と解決策の詳細については、こちらをご覧ください

于 2008-10-20T18:16:56.610 に答える
1

これは奇妙なコードです。<br />タグは XHTML スタイルですが、閉じられていないaタグは大文字のタグ名のような古き良き HTML です。そのようなページをプレーンな HTML ヘッダー/コンテンツ タイプで提供すると、おそらく IE は満足するでしょう。

あなたが Firefox がタグを閉じると書いているのは、ハイパーリンク スパンがブロック タグを超えて正しく拡張されていないことを意味していると思います。FF のビュー ソースは、ページをディスクに保存するときに存在しない終了タグを表示できることに注意してください。

率直に言って、いくつかの設定でこれらのアンカーを取り除くことができるかどうかはわかりません. 誰も実際の解決策を提示できない場合は、Jasper のソース コードをダウンロードして JR_PAGE_ANCHOR を検索し、それを生成するコードが条件付きで駆動されているかどうかを調べることができます。

または、可能であれば、生成されたコードの後処理を適用できます。

于 2008-10-20T16:47:55.853 に答える