java.lang.IllegalStateException: PWC1227: не удается переслать после того, как ответ был зафиксирован ..... почему он пришел? - PullRequest
0 голосов
/ 09 декабря 2010

, чтобы добавить некоторые данные строки в таблицу, после нажатия кнопки, которую я должен показать детали (данные) на следующей странице этой относительно таблицы.когда я использую RequestDispather класс, я получаю java.lang.IllegalStateException: ........ он также приходил при использовании response.sendRedirect("View.jsp"); ..... я посылаю код, который я использовал на своей странице.

if(msg.equals("Values Added")){
                 RequestDispatcher rd = request.getRequestDispatcher("View.jsp");
                 rd.forward(request, response);
                 }

(ИЛИ)

if(msg.equals("Values Added")){
                 response.sendRedirect("View.jsp");
                 }

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010

JSP является частью ответа. Вы не можете изменить ответ так внутри JSP. Тогда уже слишком поздно. Этот кусок кода должен быть помещен в класс сервлета.

Вместо этого измените форму для отправки сервлету:

<form action="servleturl" method="post">

Создайте класс сервлета, который отображается на url-pattern из /servleturl/* и переместите весь код Java, который есть в JSP, в метод doPost().

Смотри также:

0 голосов
/ 27 января 2011

Следующее неверно само по себе:

"Вы не можете изменить такой ответ изнутри JSP. Тогда уже слишком поздно."

Просто поместите вашу обратную проверку и перенаправьте перед тегом html в вашем jsp ... тогда все будет хорошо.

Итак:

<% if(msg.equals("Values Added")){
             response.sendRedirect("View.jsp");
             } %>

<html > ... </html>

0 голосов
/ 09 декабря 2010

используйте иначе, если вместо

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