2016-12-29 51 views
0
另一页

我有两个JSP页面像test1.jsp和test2.jsp页。 Test1.jsp部署在tomcat server1中,test2.jsp部署在server2中。现在我将用户从server1 jsp重定向到server2 jsp页面,并显式地单击server2 jsp页面中的链接。如何点击jsp页面的链接从

Example: 

test2.jsp in server2 
<html> 
<head><title>First JSP</title></head> 
<body> 
<a href="http://www.test.com">Try Again</a> 
</body> 
</html> 

在这里,我需要点击再试一次明确地将在用户进入这个页面。

注:我不能改变test2.jsp页面的代码。

回答

0

据我所知,你并不需要在所有显示test2.jsp。您只需要test2.jsp中的url。

如果我的假设是正确的,该算法可以是:

  • 阅读test2.jsp代码test1.jsp
  • 内提取的URL和
  • 重定向。

这可以用来完成:

随着<c:import>在JSP:

如果你想要做的是,在JSP代码(不解析)可能是:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<c:import url="http://server2/test2.jsp" var="test2Data"></c:import> 
<%-- extract the url from test2Data and redirect --%> 

解析可以在自定义标签来完成,如果test2.jsp是静态的,不改变频繁。

随着HttpURLConnection类:

可以使用HttpURLConnection在JSP脚本或Servlet来打开test2.jsp,然后解析,并且仅返回URL。

用的HtmlUnit:

如果test2.jsp的URL由JavaScript生成的,可以使用例如HtmlUnit

更妙的是跳过解析:

如果服务器2是你的,你可以控制url的生成,在那里添加一个servlet来跳过解析并直接从源代码获取Url。

+0

我尝试了所有三种方法同上,但我拒绝连接错误 <%@ taglib伪URI =“HTTP://java.sun。COM/JSP/JSTL /芯 “前缀= ”C“ %> 标签示例 “/> AbnSrn

+0

这看起来很可疑:'url =”<%= server2/test2.jsp%>“'。这个URL作为字符串而不是scriptlets。'server2'只是占位符的真实域名。 –

+0

抱歉!...我尝试了 <%@ taglib uri =“java.sun.com/jsp/jstl/core”; prefix =“c”%>标记示例; AbnSrn