App1 と App2 という 2 つの Web アプリケーションを作成しました。
App1 には複数のページ (Page1.jsp および Page2.jsp) があります。App1 は、2 つのページにリンクするメニューを持つスタンドアロン アプリケーションです。
App2 には複数のページ (Page3.jsp および Page4.jsp) があります。App2 は、2 つのページにリンクするメニューを持つスタンドアロン アプリケーションでもあります。
ここで、App1 または App2 を変更せずに、App1 と App2 をスーパー アプリケーションに結合したいと考えています。このスーパー アプリケーションには、App1/Page1.jsp、App1/Page2.jsp、App2/Page3.jsp、および App2/Page4.jsp にリンクするメニューが必要です。
これを行うためのいくつかのアプローチを考えています。
解決策 1: フレーム
App1 と App2 のページにリンクするメニューを持つメニュー フレームを作成できます。
App1 と App2 のコンテンツを表示するために使用される別のフレームを持つことができます。
ただし、フレーム ( http://www.html-faq.com/htmlframes/?framesareevil ) を使用することに熱心ではありません。
解決策 2: URL パラメーターに基づいてメニューを動的に構築する
スーパー アプリケーションには、App1 と App2 にリンクする div ベースのメニューを含めることができます。App1/Page1.jsp?parent=SuperApp など、URL にパラメータを渡すことができます。
App1 と App2 は、親パラメーターに基づいてメニューを動的に構築できます。
たとえば、parent パラメータが存在しない場合、App1 は Page1.jsp と Page2.jsp にリンクする通常のメニューを使用します。
ただし、parent パラメータが存在する場合、App1 は SuperApp メニュー (SuperApp/header.html) を使用します。この HTML は JSP ページに動的に含まれます。この SuperApp メニューは、App1 と App2 で提供されるすべてのページにリンクします。
この 2 番目の解決策は、フレームを使用しなくても機能しますが、考慮していない他の解決策があるかどうかを調べたいと思いました。