質問

1つのページに複数のコンポーネントをロードする必要があるWebアプリケーションを設計しています。 (ページレイアウトの点では、Googleリーダーに似ています)これらのコンポーネントを互いに分離しておくのが好きです(再利用性などの理由で)。たとえば、ユーザーがサブスクライブしている複数のフィード(ユーザー固有)の間を移動できるようにする左側のパネルと、その右側にそのフィードの内容を表示する右側のパネルと、それに関する特定の情報を表示する右側のパネルがあります特定のフィード。 MVC、特にSpring-MVCについての私の理解は、各コントローラーがページ全体を担当しているということです。これを少し研究した後に私が思いついた2つの解決策がありますが、それらのどれも私には良く聞こえません。

  1. そのURLにマップされるメインコントローラーを用意し、jspファイル内から他のコンポーネントをロードします。これは実行可能ですが、良い解決策のようには聞こえません。
  2. ポートレットの使用。

ベストプラクティスを知りたい。これは、MVCフレームワークで非常に一般的なWebデザインの問題のように聞こえますが、どうすればそれができますか?

役に立ちましたか?

解決

Spring MVCコントローラーは通常「担当」です。 :-)特定のリクエストを処理することは、必ずしもそのリクエストがモノリシックページがユーザーに表示されることを意味するわけではありません。

Googleリーダーのような機能について話しているので、おそらくAJAXを使用して、ページ上の異なるコンポーネント間をロード/ナビゲートしますか?その場合は、3つのコンポーネントを個別のコントローラーに(個別のURIを介して)簡単にマッピングし、1つの「メイン」最初にページ全体をロードするコントローラー。

そうではなく、ページが静的な場合、コントローラーを「ルーター」として機能させることができます。最初にコンポーネントをインスタンス化してから、必要に応じて適切なコンポーネントにコマンド/リクエストを送信します。各コンポーネントはモデルの独自の部分を更新し、その後で「メイン」が更新されます。コントローラーはレンダリングされるビューを返します。

これにポートレットを使用できますか?はい。しかし、単一のページについて話している場合、それはちょっとやり過ぎかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top