Spring MVC: открыть ссылку в новом окне браузера в методе обработчика - PullRequest
0 голосов
/ 21 марта 2011

У меня есть контроллер, который обрабатывает нажатия на ссылки.В методе обработчика я должен сделать что-то (на БД) и открыть URL-адрес клика в новом окне (что-то вроде _blank атрибут в ссылках).Я использую "redirect: url", но он, конечно, перенаправляет в том же окне.Есть идеи?

@RequestMapping(value = "/open.html")
public String open(@RequestParam(value="id") Integer id) {
    Link link = linkDAO.get(id);
    linkDAO.click(id);
    return "redirect:"+link.getAddress();
}

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

Я решил это, используя JavaScript и AJAX - как подсказывает @Patrick. Может быть, это кому-нибудь пригодится.

<a href="#" onclick="openLink(${link.id},'${link.address}');">Open</a>

openLink функция:

function openLink(id, url) {
    jQuery.get('open.html?id='+id, function(data) { 
      if(data == 'OK') {
        window.open(url);
      } 
    }, 'text');
}

Метод обработки:

@ResponseBody
@RequestMapping(value = "/open.html")
public String open(@RequestParam(value="id") Integer id) {
    Link link = linkDAO.get(id);
    linkDAO.click(id);
    return "OK";
}
0 голосов
/ 21 марта 2016

требуется только простое изменение в html.Добавить атрибут target = "_ blank" в ссылке

Посетить W3Schools

Посетить W3Schools

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...