2012-04-17 6 views
1

То же самое можно найти по адресу here. и найдены некоторые равные вопросы.
Они о javascript (ответ: -window.top.location.href = «http://www.site.com»;)
Но
Я хочу знать, как перенаправить его Java на странице JSP. Обычный редирект может быть сделано как ..Перенаправить родительскую страницу из ifram в JSP с помощью JAVA

response.sendRedirect("newUrl.jsp"); 

Но он перенаправляет на страницу источника внутри фрейма не является родительской страницы. Задача состоит в том, чтобы исходный файл iframe обновлялся и делал некоторые вещи (проверка сеанса .. получение атрибутов.), И если исходная страница соответствует определенному логическому этапу, тогда родительская страница может быть перенаправлена ​​на другую страницу. Но не в javascript, я хочу знать это в JAVA (это означает, что контейнер jsp/servlet решает и перенаправляет на другую страницу на сервере).
Мое настоящее мнение, что такие вещи могут быть обработаны с помощью javascript. Ваша вся информация высоко ценится.

+0

Единственный способ, с помощью которого вы можете «следить» за изменениями в iframe, - использовать javascript. Нет никакого способа сделать это * чисто * на любом серверном языке. –

+0

Спасибо Джеймс Хей. –

ответ

1

Вместо отправки перенаправления 301 или 302 отправьте страницу JSP (или напишите в выходной поток отклика) с содержимым html, которое имеет перенаправление javascript, установленное для выполнения при загрузке. Таким образом, вы можете сделать свою проверку в java-стороне вещей и просто отправить перенаправление javascript, когда это необходимо, в противном случае отправить обычный контент.

+0

Спасибо digitaljoel. Ваша идея - good.but (Как я понимаю, что вы имеете в виду ..), если отправляется страница jsp, она снова загружается внутри самого iframe, а родительская страница не перенаправляется. Кроме того, отправка html-элементов и javascripts также хороша. Но я хочу перенаправить на стороне сервера (по контейнеру.) Еще раз спасибо за вашу идею. –

+0

Я просто попробовал, и она отлично работала, перенаправляя родительское окно. Если вы отправляете только html-контент с перенаправлением javascript, когда ваш Java-код обычно вызывает вызов response.sendRedirect, он не должен быть по-разному для вас иным, чем для вызова response.sendRedirect. Очевидно, что у вас есть проблемы, если javascript отключен, но я не думаю, что у вас есть много других вариантов. – digitaljoel

Смежные вопросы