2012-01-04 7 views
0

こんにちは私はspring mvcを使用しています。私のページは左右2列で構成されています。私はその左側が1つのコントローラからレンダリングされ、右側がもう1つのレンダリングされることを望みます。それを達成する方法。ここの右側の例は、LoginControllerからレンダリングするログインフォームですが、左側は常に変更されます。どのように春のMVCフレームワークでそれを達成する。Springは1ページに多くのビューをレンダリングします。

ありがとうございます。

+0

ログインフォームを送信すると、ページ全体がリロードされるか、右側のみが表示されますか? – greyfairer

答えて

1

これを実装する方法はさまざまです。あなたの正確な要件は何ですか?あなたが試すことができます。

  1. Portletsを - 2つのポートレットをレンダリングし、それぞれが個別にレンダリングされます。これがこの1つの場所でのみ必要な場合はおそらく過剰です。

  2. AJAX - 空のページを最初にレンダリングし、両方のビューを別々にAJAXを使用してフェッチします。 $.load()を参照してください。

  3. <iframe/> - 2つの異なるターゲットURLを持つiframeを埋め込みます。

  4. コンポーネント指向のフレームワークを使用します(私は個人的にWicketが好きです)。

これらのアプローチのいずれも、Spring MVCまたはJavaに限定されていません。

+0

良い答えが、私の状況はそうです。私はページを分割するためにタイルを使用しています。左側のログインバーはここの右側のログインコントローラからレンダリングされます。ムービーコントローラのムービー/ムービーのリスト、右側のパネルにムービーが表示されますが、左側のパネルのムービーが表示されます。ここではログインバーが表示されますビューからコントローラー・アクションを呼び出さない。どのように1つのページの2つのコントローラアクションをレンダリングするのですか? – Elbek

+0

wicketのために+1: –

+0

私は春自身で達成できませんか? – Elbek

2

Spring MVCは本質的にコンポーネント指向のフレームワークではありません。あなたに合ったいくつかの異なるアプローチ

  • クライアント側の集約。 AJAXを使用して、さまざまな "コンポーネント"(左、右)をロードしてください。
  • さらにいくつかのテンプレート/コンポーネント指向のレンダリングフレームワークを使用します。私はApache Tilesが好きで、Preparers(TilesのControllersに似ています)のロジックを壊すのが好きです。 JSF 2を使用することもできます。Spring MVC 3 and JSF 2にブートストラップ/チュートリアルを書きましたが、面白いかもしれません。
  • JSF 2、TapestryまたはWicketのようなコンポーネント指向のフレームワークを使って本格的に作業を進めてください。
+0

私たちはsitemesh(http://www.opensymphony.com/sitemesh/)でそのようなことをしていましたが、かなり死んでしまったようです。 – greyfairer

関連する問題