gpt4 book ai didi

java - 从 servlet 打开 URL

转载 作者:行者123 更新时间:2023-12-01 12:11:17 24 4
gpt4 key购买 nike

我使用 MVC 创建了一个 Web 应用程序。我在页面上向用户显示了几个链接。这些链接将链接到一些外部站点。当用户单击这些链接时,我想在数据库中记录一些数据,然后将用户重定向到新选项卡中单击的链接。在数据库中记录详细信息后,我还想向用户显示更新的页面。我有一个 Controller Servlet,它指向一个操作类,该类将记录所单击的链接的详细信息。现在我必须向拥有 webapp 更新页面和外部链接的用户显示两个 View 。我只能做到其中之一。是否可以向用户提供两种 View ?

通过这种方式,我可以打印 URL:

<a href=
<% out.println(favBean.get(i).getURLLink()); %> >
<% out.println(favBean.get(i).getURLLink());%>
</a>

最佳答案

您可以使用Jquery Ajax为此:

<a class="link" href=
<% out.println(favBean.get(i).getURLLink()); %> >
<% out.println(favBean.get(i).getURLLink());%>
</a>


<script>
$(".link").click(function(){
//first do the servlet DB stuff
jQuery.ajax({
type:"POST",
url : "myServlet",
data : param,
success : function(data) {
//on servlet DB stuff success open link in new tab
var address = $(this).attr("href");
windows.open=address;
});
});
</script>

仅使用少量纯 JavaScript 的 Servlet 解决方法:

<% if( request.getAttribute("href") != null){ %>
<script>
document.addEventListener('DOMContentLoaded', function(){
windows.open='<%=request.getAttribute("href")%>'
});
</script>
<%}%>

<a href='/callMyDBGetServlet?redirect=<%=favBean.get(i).getURLLink()%>' >
<% out.println(favBean.get(i).getURLLink());%>
</a>


doGet(HttpServletRequest request, HttpServletResponse response){

String href = request.getParameter("redirect");
//Do my DB stuff
request.setAttribute("href");
request.getDipatcher("sameJsp.jsp").forward(request,response);
}

关于java - 从 servlet 打开 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27264473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com