2013-05-30 3 views
0

У меня есть JSP, который сильно использует JSTL (c: out, c: if, c: choose, works). Я сталкиваюсь с интересным состоянием, когда в середине цикла в JSP мой HTTP-ответ переворачивается из-за того, что он НЕ совершил совершение.JSTL Теги, связанные с HTTP-ответом

JSP вообще не имеет ссылки на объект ответа, поэтому я не случайно удаляю ответ буфер.

Я настроил свой буфер буферизации на 1 МБ для тестирования (моя страница - 100 КБ) - во избежание автоматической промывки буфера (и, таким образом, реакция на ответ).

Единственное, что я могу придумать, это теги JSTL-тегов (так как они имеют доступ к объекту-ответу) выполняет мой ответ под обложками.

Я не могу найти полезные документы в Интернете или исходный код JSTL, чтобы взглянуть сам.

Любые мысли?

+1

Убежденный 'ServletResponse' просто означает, что' уже имеет свой код статуса и заголовки written', см http://docs.oracle.com/javaee/6/api/javax/servlet/ServletResponse. html # isCommitted() –

+0

Per API: reset() => Очищает любые данные, которые существуют в буфере, а также код состояния и заголовки. Если ответ был зафиксирован, этот метод генерирует исключение IllegalStateException. в основном я застрял в этом ответе (не может перенаправлять и т. д.). – empire29

+0

Вы, очевидно, не можете перенаправить, если вы уже отправили строку состояния и заголовки. –

ответ

0

Проблема. JSP поддерживает собственный размер буфера, который не подвергается воздействию объектов responseBuffer (..).

<%@page buffer="256kb"%> 
Смежные вопросы