Откройте новое окно браузера по нажатию кнопки формы - PullRequest
1 голос
/ 19 июня 2009

Я хочу открыть новый браузер и загрузить страницу из файловой системы (которая будет создана при нажатии этой кнопки). Мое приложение - сервлет Java. По сути, я позволяю пользователям изменять некоторые HTML на своем веб-сайте. При нажатии на кнопку пользователь получает возможность просмотреть страницу предварительного просмотра, которая показывает, как выглядит страница с внесенными изменениями.

Какой самый простой способ сделать это и какие проблемы вы можете увидеть, и, возможно, как мы их обойдем.

Я вижу проблему, например, если окно браузера пытается открыть файл немедленно, его даже не существует. Поэтому, прежде чем читать файл, возможно, потребуется некоторая задержка.

Ответы [ 5 ]

2 голосов
/ 19 июня 2009

Это можно сделать с помощью java-скрипта

window.open ('url', 'name', ....)

Вы можете передавать параметры в этой функции.

Google для "функции javascript window.open"

Приветствия

1 голос
/ 19 июня 2009

Может быть, вы можете использовать jQuery / AJAX или аналогичный метод, чтобы сначала отправить данные на сервер, а затем открыть их в новом окне.

см. Пример документации jQuery: Пример публикации jQuery

0 голосов
/ 16 сентября 2011

Вы можете использовать JavaScript. На кнопку добавляешь:

onClick="doMyOpenWindowFuncion();"

и в части скрипта на странице вы пишете функцию типа

function doMyOpenWindowFunction() {
    // if you want the client to wait, heres the place to do so.
    // I assume you can make your servlet wait so the next line opens a window to the servlet
    openWindow('/MyFancyPreviewServlet', 'Preview Window');
}

и в вашем сервлете вы просто ждете появления файла перед его доставкой.

0 голосов
/ 19 июня 2009

Я не знаком с сервлетами Java, но вы не можете сохранить загруженный HTML-файл в переменной сеанса на стороне сервера, отобразить содержимое на странице предварительного просмотра, а затем один раз сохранить содержимое переменной в файловой системе пользователь принимает изменения?

0 голосов
/ 19 июня 2009

если данных для страницы предварительного просмотра не так много, вы можете передать ее в качестве URL-параметров вместо использования jQuery. Если данные большие, лучше использовать jQuery. :)

как http://www.xyz.com? Name ="имя" .....

...