Я присваиваю строковой переменной значение при нормальном выполнении кода, но если произойдет исключение, я присвою ей другое значение, проблема в том, что в блоке catch значение остается таким же, как я присвоил сначала .
Вот мой код: сначала я присваиваю значение страницы «addUser» внутри блока try, а в catch я присваиваю ему значение «ErrorPage», я отправляю значение страницы в http-запросе методу forword, а внутри него я печатаю значение страницы. Я вызываю ошибку при выполнении кода, и я хочу, чтобы он прошел через блок catch, и это происходит, но когда он отправляет значение страницы в функцию forword, значение страницы равно «addUser», а не «ErrorPage», хотя я назначаю это к "ErrorPage" !!
String page = "addUser";
try {
// ...
request.setAttribute("page", page);
forward(request, response);
} catch (SQLException e) {
page = "ErrorPage";
request.setAttribute("page", page);
forward(request, response);
}
а вот функция forword
String page = request.getParameter("page");
System.out.println("page is " + page); // each time it prints addUSer
Кто-нибудь может помочь? и спасибо заранее.
page
локально перед блоком try, а затем снова переопределяете его внутри блока try. Это приведет к ошибке компиляции, поэтому код, который вы нам дали, бесполезен для демонстрации проблемы. - person Mark Peters   schedule 03.12.2010