0

如果我在 IE7 中查看我的一份 Jasper 报告生成的 HTML,我会看到以下内容:

<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 正在超链接整个报告表。我没有使用这个锚标签,所以如果我能阻止 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 回答