Как показать содержимое файла журнала в новом окне, когда мы нажимаем на ссылку весной mvc

0

Моя главная цель: когда я нажимаю ссылку, нужно открыть новое окно браузера и отобразить содержимое всего файла журнала. И в окне не должно быть адресной строки и кнопок навигации (Назад, Вперед).

Есть ли какой-либо подход для этого в проекте Spring-MVC?
Вот что я делаю сейчас:

  1. Когда я нажимаю ссылку, контроллер logName с параметром logName.
  2. Теперь у контроллера есть доступ, чтобы получить какие-либо детали файла журнала, такие как контент, путь и т.д. Я задаю все эти детали объекту и отправлю обратно в JSP.

Здесь я не уверен, как открыть новое окно и отобразить содержимое файла журнала в этом окне.

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

Теги:
spring-mvc

1 ответ

1
Лучший ответ

Spring или JSP не имеют к этому никакого отношения, единственный способ заставить браузер пользователя открыть ссылку на новой вкладке - использовать Javascript на стороне клиента. window.open() позволяет настраивать всплывающее окно для скрытия определенных элементов интерфейса (см. все параметры в документации)

Ваш код будет выглядеть примерно так:

<input type="button" value="Show Log" onclick="showLog(logName)">

function showLog(logName) {
    var url = "/path-to-your-controller.html?logName=" + logName;
    window.open(url, "LogPage", "toolbar=no,location=no,menubar=no");
}

Однако я не думаю, что использование настраиваемого всплывающего окна браузера является хорошим решением; он исчез из Интернета по какой-то причине. Было бы более изящно извлекать необработанные данные с помощью AJAX и отображать их в всплывающем окне JS: это не мешает навигации по пользовательской странице (вы отметили вопрос с помощью jQuery, для этого вы можете использовать пользовательский интерфейс jQuery).

Более того, я не удивлюсь, если window.open не будет поддерживаться всеми браузерами одинаково... что-то нужно иметь в виду, если вы ориентируетесь на более широкую аудиторию.

† кажется, что Chrome игнорирует location=no, например

  • 0
    Большое спасибо за решение ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню