Отчет Jasper, генерирующий плохой HTML - PullRequest
0 голосов
/ 20 октября 2008

Если я просматриваю HTML, сгенерированный одним из моих отчетов Jasper в 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>

Два тега BR добавляются с помощью параметра JRHtmlExporterParameter.HTML_HEADER. После этих тегов и до начала таблицы отчетов есть незамкнутый тег привязки, который генерируется отчетами Jasper. Тот факт, что этот тег закрыт неправильно, портит формат моего отчета, потому что IE гиперссылку на весь отчет ТАБЛИЦА. На самом деле я не использую этот тег привязки, поэтому, если я смогу предотвратить его генерацию Джаспером, это решит мою проблему.

Кстати, эта проблема возникает только в IE, в Firefox все работает нормально, потому что тег привязки правильно закрыт.

Спасибо заранее, Дон

Ответы [ 2 ]

2 голосов
/ 20 октября 2008

Я воспользовался советом Фила и погрузился в исходный код Джаспера. Я исправил проблему и отправил ее в проект. Подробная информация о причине и разрешении доступна здесь .

1 голос
/ 20 октября 2008

Это странный код, теги <br /> выполнены в стиле XHTML, а незамкнутые теги a - это старый добрый HTML, как и имена тегов в верхнем регистре. Если вы обслуживаете такую ​​страницу с простым HTML-заголовком / типом контента, возможно, IE будет счастлив.

Когда вы пишете, что Firefox закрывает тег, я предполагаю, что вы имеете в виду, что он правильно не расширяет диапазон гиперссылок над блочными тегами. Обратите внимание, что источник просмотра FF может отображать закрывающие теги, которых нет при сохранении страницы на диск!

Честно говоря, я не знаю, сможете ли вы избавиться от этих якорей с помощью некоторого конфига. Если никто не приходит с реальным решением, может быть, вы можете скачать исходный код Jasper и найти в нем JR_PAGE_ANCHOR, проверяя, является ли код, генерирующий его, условно управляемым.

Или, если можете, вы можете применить постобработку сгенерированного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...