JSP отображает странный HTML - PullRequest
2 голосов
/ 26 июля 2010

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

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

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

Есть ли ограничение на количество страниц для страницы jsp?

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

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

Ответы [ 2 ]

2 голосов
/ 26 июля 2010

Есть ли ограничение на количество страниц для jsp-страницы?

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

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

2 голосов
/ 26 июля 2010

Существует ли какой-либо лимит страниц для страницы jsp?

AFAIK, нет.

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

EDIT

@ Адам Крум говорит: "исключение может быть выдано в точке, расположенной дальше от точки остановки вывода из-за буферизации. "

True.В качестве временного хака для решения этой проблемы вы можете окружить содержимое JSP try / finally и сбросить поток вывода в блоке finally.

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