Как мне управлять обработкой исключений, возникающих внутри jsp:include включает?

У меня есть JSP, который включает в себя еще один JSP через <jsp:include>, У меня также есть (что я думаю, что) стандартная настройка страницы ошибки. Проблема в том, что когда исключение возникает внутри включенного файла, оно не "всплывает" во включающем JSP. Вместо этого он вставляет страницу ошибки в середине процесса обработки включенного JSP.

Как ни странно, он даже не вставляет вывод страницы с ошибкой в ​​строку, где произошла ошибка. Например, если я вызову исключение в строке 600 включенного JSP, я увижу вывод из первых 300-400 строк, а затем увижу страницу ошибки (в выведенном HTML).

Вместо того, чтобы первые 300-400 строк включенного файла появлялись в таком случае, я бы предпочел увидеть, что ни один из выводов включенной страницы не появляется вообще, а только вывод страницы с ошибкой. Это возможно, или есть какая-то проблема с буферизацией включенных файлов, которая предотвращает это?

О, и я уже попытался установить "flush='true'" для тега include, и я попытался обернуть все в try/catch как в include, так и в includee... но ничего из этого не помогло.

2 ответа

Решение

Использует ли большой буфер (<%@ page buffer="1024kb" %>) а также flush="false" для включенной работы?

Исходная проблема "Bubble up" может зависеть от веб-контейнера. Мы используем Websphere 7, и он работает не так, как другие версии Websphere: исключения включенной страницы не распространяются обратно на jsp включения. Если для включенной страницы не определено ни одной страницы ошибки, сообщение об исключении выводится в выходной поток.

В случае websphere 7 мы нашли параметр followng, который позволяет всплыть исключениям через тег jsp: include: com.ibm.ws.webcontainer.dispatcherRethrowSError из пакета исправлений 15. Вот дополнительная информация: http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Frweb_custom_props.html

В случае других веб-контейнеров я еще не сталкивался с этой проблемой.

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