2016-12-29 15 views
0

test1.jspとtest2.jspページのような2つの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だけが必要です。

私の仮定が正しいならば、アルゴリズムは次のようになります。

  • はtest1.jsp
  • の内部に、test2.jspコードはURLと
  • リダイレクトを抽出読みます。

これを用いて行うことができる。

  • <c:import>(JSP + JSTLに)
  • HttpURLConnectionを(JSP +スクリプトレット/サーブレット/クラス内の)
  • HtmlUnit(JSP +スクリプトレット/サーブレットにJSPで<c:import>付/クラス)

あなたは(解析なし)コードの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ので

あなたは、に、test2.jspを開くには、JSPスクリプトレットまたはサーブレットでHttpURLConnectionを使用し、その後解析し、URLのみを返すことができます。 HtmlUnitで

に、test2.jsp内のURLはJavaScriptによって生成されている場合は、構文解析をスキップしても良く、たとえばHtmlUnit

を使用することができます。

server2の場合はあなたのものであり、あなたはurl世代を制御できます。サーブレットを追加して解析をスキップし、ソースから直接URLを取得します。

+0

上記の3つの方法をすべて試しましたが、接続が拒否されました。 <%@ taglib uri = "http://java.sun。COM/JSP/JSTL /コア "プレフィックス= "C" %> タグ例 AbnSrn

+0

これは疑わしいです: 'url =" <%= server2/test2.jsp%> "'。 URLは文字列でありスクリプトレットではない 'server2' ist実際のドメインのプレースホルダ –

+0

申し訳ありません...試しました <%@ taglib uri =" java.sun.com/jsp/jstl/core ";接頭辞= "c"%>タグの例; ここで – AbnSrn

関連する問題