powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Открыть новое окно браузера из сервлета
5 сообщений из 5, страница 1 из 1
Открыть новое окно браузера из сервлета
    #33354628
Annav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть html с фреймами, на одном из них есть форма, на submit которой вызывается сервлет. После формирования данных, результаты записываются в атрибуты запроса и запрос перенаправляется в jsp. Только в зависимости от условия, надо, что бы либо jsp отобразилась в том же фрейме, где была форма, либо, что бы открылось новое окно, опять же с фреймами и результаты отобразились в одном из них. Проблема в том, что как нужно будет отобразить результаты можно определить только в конце работы сервлета, когда все данные сформированы.
Можно было бы, конечно, если надо открыть в новом окне, то во фрейм с формой загрузить какую-нибудь страницу, а на ее закгрузку JavaScript'ом открыть новое окно и в нужном фрейме вызвать еще раз сервлет, что бы он сформировал данные в этот фрейм... Но не хотелось два раза выполнять формирование одних и тех же данных. (сессии не используются)

Можно это как-нибудь реализовать?
...
Рейтинг: 0 / 0
Открыть новое окно браузера из сервлета
    #33354795
Annav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос в догонку:
Как JavaScript'ом из одного фрейма обратиться к элементу, например, к картинке, по ID, расположенной на другом фрейме.
Фрейм вроде находиться window.parent.document.getElementById('frame1'), а как найти, то что на этом фрейме?
...
Рейтинг: 0 / 0
Открыть новое окно браузера из сервлета
    #33355149
bolgare
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1.а никак, сервлет работает на сервере, а веббраузер на клиенте, я бы сделал еще один фрейм(с 0 размерами), в который сабмитится форма, а возвращаемая jsp - проверяет данные, если надо новое окно, то win=window.open win.body.innerHTML=self.body.innerHTML (и куча наворотов с передачей объектов если надо), а если не надо, то frame.body.innerHTML=...
2. к фрейму обратиться window.parent.document.frames[name];
...
Рейтинг: 0 / 0
Открыть новое окно браузера из сервлета
    #33355221
Annav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bolgare1.а никак, сервлет работает на сервере, а веббраузер на клиенте, я бы сделал еще один фрейм(с 0 размерами), в который сабмитится форма, а возвращаемая jsp - проверяет данные, если надо новое окно, то win=window.open win.body.innerHTML=self.body.innerHTML (и куча наворотов с передачей объектов если надо), а если не надо, то frame.body.innerHTML=...

спасибо... подумаю в этом направлении

2. к фрейму обратиться window.parent.document.frames[name];

К фрейму - понятно, а как к элементу в этом фрейме? У меня почему-то не получается получить объект по ID находящийся на этом фрейме (том, который не текущий, а который найден по имени) .
...
Рейтинг: 0 / 0
Открыть новое окно браузера из сервлета
    #33355244
bolgare
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вон енто рабочая штука, передается имя фрейма и мессага
function setFrameMessage(frm,msg){
var dcm=window.parent.document.frames[frm].document;
var txt="<html><link rel='stylesheet' href='/Project/jsp/general/style.css' title='Style'/>";
txt+="<body><table width='100%'><tr><td height='500px' valign='center' align='center'>";
txt+=msg;
txt+="</td></tr></table></body></html>";
dcm.clear();
dcm.close();
dcm.write(txt);
dcm.close();
}
так что
window.parent.document.frames[frm].document.getElementById()
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Открыть новое окно браузера из сервлета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]