Spring MVC:在处理程序方法中的新浏览器窗口中打开链接

我有一个控制器,可以处理单击链接的操作。在处理程序方法中,我必须做一些事情(在db上),然后在新窗口中打开单击的url(类似于链接中的

属性)。我使用“ 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();

}

回答:

我使用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";

}

以上是 Spring MVC:在处理程序方法中的新浏览器窗口中打开链接 的全部内容, 来源链接: utcz.com/qa/402918.html

回到顶部