2010-07-26 2 views
2

Я получаю очень странное поведение на одной из моих страниц JSP. Похоже, что он не отображает полный HTML. Это выглядит так:JSP создает странный HTML

<html> 
    ... 
    <table> 
    ... 
    </table> 
    <div id= 

Так что последняя строка - это именно то, что вы получаете, когда страница отображается. Кроме того, когда вы используете источник просмотра, вы получаете точно то же самое. На этой странице нет никакой причудливой логики ... нет никаких javascript-ошибок, отсутствующих закрывающих тегов и т. Д.

Есть ли какой-либо лимит страницы для страницы jsp?

Немного больше фона: эта страница отлично работает на сервере WIN2K с Tomcat 5.5. Я обновляю это приложение для запуска под сервером с WIN2008 + Tomcat 6.0. Вот где я получаю ошибку ...

Любая помощь приветствуется.

ответ

2

Есть ли какой-либо лимит страницы для страницы jsp?

AFAIK, no.

Я думаю, что наиболее вероятная причина в том, что ваш JSP бросает исключение. Проверьте журналы Tomcat и посмотрите на JSP в точке после последнего HTML, который был выведен.

EDIT

@Adam Crume говорит: «Исключение может быть выброшен в точке далее вниз, откуда выходные остановки, из-за буферизации.»

Правда. В качестве временного взлома, чтобы обойти это, вы могли бы окружить содержимое JSP попыткой/окончательно и вывести поток вывода в блок finally.

+2

Исключение может быть выбрано в точке, дальше от которой выход останавливается из-за буферизации. –

+0

Это было действительно исключение. Большое спасибо! –

+0

A ограничение фактически есть. – khebbie

2

Есть ли какой-либо лимит страницы для страницы jsp?

Да, есть. Это около 64 КБ. JSP в основном скомпилированы в большой оператор try. В Java существует ограничение на 64 КБ для оператора try. Но если вы превысите это значение, это приведет к different exception.

Эта проблема, по крайней мере, указывает, что вы используете scriptlets в JSP. Это bad practice. Всякий раз, когда исключение происходит на половине страницы JSP, вы получаете пустую или полуобработанную страницу без информации о проблеме. Не выполняйте бизнес-материал в JSP, но в Servlet предварительной обработки.