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