Отчет Jasper генерирует плохой HTML

Если я просматриваю 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 все работает нормально, потому что тег привязки правильно закрыт.

Заранее спасибо, Дон

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
4 214
2

Ответы 2

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

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

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

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

Как указано выше, теги BR добавляю я, а тег A - Джаспер. Когда я пишу, что Firefox закрывает тег, я имею в виду, что он отображается как пара совпадающих открытых и закрытых тегов, когда я просматриваю сгенерированный источник в Firebug.

Dónal 20.10.2008 20:56

Однако когда я просматриваю сгенерированный источник в Web Developer (эквивалент Firebug в IE), он выглядит так, как показано выше.

Dónal 20.10.2008 20:58

Хорошо, что вы нашли решение. Для записи Firebug показывает строковую версию Dom, а не исходный код, поэтому он всегда правильно сформирован. И я лучше понимаю теги в верхнем регистре, если это тоже сгенерированное представление.

PhiLho 22.10.2008 10:08

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

Другие вопросы по теме