2011-08-08 30 views
3

jspページのdivに外部Webサイト(例:www.example.com)を含めることにしました。私はそれがお勧めではないので、フレームを使用したくありません。 jsp内のdiv内に外部Webサイトが含まれています

は、私は解決策をオンラインで検索してみましたが、私が見つけたものはすべて、内部のウェブページ(例えばwebpage.jsp)...私は本当にあなたの助けに感謝します

を含めました。

答えて

7

まず、フレームを使用することは、ローカルのコンテンツ(これは/フレームの最も一般的な乱用であった)の分割に関係する場合には、実際にはお勧めできません。しかし、外部の内容に関係しているのは間違いありません。ローカルコンテンツの場合は、<jsp:include>などのサーバーサイドインクルードを使用してください。

具体的な質問として、外部WebサイトのHTML応答が独自のJSPページのHTML応答と衝突しない場合(つまり、最終的なHTML応答を完全に返す完全な<html>文書は返されません。invalid重複/ネストされた<html>要素ですが、コンテキストに依存しないHTMLフラグメント(例えば<span>blah</span>)を返します。JSTL<c:import>を使用できます。

<c:import url="http://external.com/some/fragment.html" /> 

しかし、それは完全な<html>ドキュメントを返しおよび/または文脈依存している場合、あなたは本当にを使用するか、間にプロキシサーブレットを持参する必要があります。このようなサーブレットの具体的なキックオフの例については、この回答を確認してください:Make HttpURLConnection load web pages with images

1

あなたが唯一divタグで外部ページを含めたい場合は少数を示すために、いくつかの問題に直面するつもりだ:

外部ウェブサイト内部のリンク
  • クッキー管理
  • を扱う
    1. リソース管理(画像、CSS、JavaScriptの)

    このような要件に対応するためにさまざまなオプションがあります。

    1. iFrame;それはいいものではありませんが、なぜそれはお勧めではありませんか?
    2. サーバー側リバースプロキシ。

    結論するには、外部リンクをフィルタリングするために持っているように複雑になることが(何らかの形で旧式)

  • シンプルなフレーム、外部システム(例えば、いくつかのRESTfulなもの)が提供する
  • 明確に定義されたインタフェース(#3を参照してください) :divにのみ外部ページを提供する簡単な方法はありません。

  • 関連する問題