2008-10-20 6 views
0

나는 재스퍼가 나는 다음을 참조 IE7에서보고 내 중 하나에 의해 생성 된 HTML 보면 :재스퍼 리포트 생성 나쁜 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가 전체 보고서 테이블에 하이퍼 링크하기 때문에 내 보고서 형식이 엉망입니다. 저는 실제로이 앵커 태그를 사용하지 않습니다. 재스퍼가 그것을 생성하는 것을 막을 수 있다면, 그것은 제 문제를 해결할 것입니다.

덧붙여 말하자면,이 문제는 Internet Explorer에서만 발생하며, Firefox에서는 앵커 태그가 제대로 닫혀 있기 때문에 모든 것이 올바르게 작동합니다. 닫히지 않은 a 태그 좋은 오래된 HTML 동안 사전에

감사, 이상한 코드의 돈

답변

1

<br /> 태그는 대문자 태그 이름처럼, XHTML 스타일입니다. 일반 HTML 헤더/콘텐츠 유형으로 이러한 페이지를 제공하면 IE가 만족할 것입니다.

파이어 폭스가 태그를 닫을 때 필자는 블록 태그보다 하이퍼 링크 스팬을 올바르게 확장하지 않는다고 가정합니다. FF의보기 소스는 페이지를 디스크에 저장할 때 거기에없는 닫는 태그를 표시 할 수 있습니다!

솔직히 말해서, 일부 설정으로이 앵커를 제거 할 수 있는지 모르겠습니다. 아무도 진짜 해결책이 없다면 Jasper의 소스 코드를 다운로드하고 JR_PAGE_ANCHOR를 검색하여 코드를 생성하는 코드가 조건부로 구동되는지 살펴볼 수 있습니다.

또는 가능한 경우 생성 된 코드의 사후 처리를 적용 할 수 있습니다.

+0

위에서 언급 한 것처럼 BR 태그는 Jasper가 A 태그를 추가하는 대신 나 자신으로 추가됩니다. 파이어 폭스에서 파이어 폭스에서 생성 된 소스를 볼 때 파이어 폭스가 태그를 닫을 때 필자가 말하는 태그가 닫히고 짝을 이루는 태그 쌍으로 나타난다는 것을 씁니다. –

+0

그러나 웹 개발자 (Firebug와 동일한 IE)에서 생성 된 소스를 볼 때 위와 같이 나타납니다. –

+0

좋은 해결책을 찾았습니다. 기록을 위해 Firebug는 원래 소스가 아닌 돔의 문자열 버전을 보여주기 때문에 항상 잘 형성되어 있습니다. 또한 생성 된보기 인 경우 대문자 태그를 더 잘 이해합니다. – PhiLho

2

나는 Phil의 조언을 듣고 Jasper 소스 코드를 비웃다. 문제를 수정하고 프로젝트에 제출했습니다. 원인과 해결책에 대한 자세한 내용은 here입니다.

관련 문제