1

私は Spring MVC と JSP の最初のステップを実行しています。次のことを行う最善の方法を見つけようとしています。

いくつかの静的 HTML と、ビジネス ロジックごとにページに表示されるいくつかの動的ウィジェットから作成される動的ページを作成する必要があります。各ウィジェットは、いくつかのコンテンツを含む div です。あるウィジェットはトレンドを表示し、他のウィジェットは表などを表示する場合があります。実際に行う必要があるのは、どのウィジェットをページ内の特定の位置に配置して配置するかを実行時に決定することです。そこの。つまり、JSP ファイル内の一部のプレースホルダーを、ウィジェット HTML を提供する JSP タグ ファイルまたはその他のものに動的に置き換える必要があります。各プレースホルダーをifまたはswitchステートメントでラップするだけで簡単に実行できますが、それを行うためのよりクリーンな方法があるかどうか知りたいです。

ありがとう、ヨシ

4

3 に答える 3

2

IDE コード ナビゲーション サポートを使用して、すぐにコードに何が含まれているかを確認したい場合は、 のリストが<c:when>最適です。

動的インクルード (例: <jsp:include page="${widgetName}" />) を使用すると、コードは確実に短くなりますが、何が起こっているのかを理解するのも難しくなります。

于 2013-11-26T10:56:20.663 に答える
0

JSPはサーバー側の技術であるため、実行時イベントに参加できません (つまり、ユーザーがページを読み込んだ後)。レンダリングされた応答 (つまり、HTML) がサーバーを離れ、ユーザーのブラウザーへの旅に乗り出すと、JSPの役割は終了します。内容を変更したい場合は、別のリクエストを行うことによってのみ取得できます。

小さなビルディング ブロック (JSP インクルード、Apache タイルなど) から HTML 応答を組み立てるのに役立つ技術がいくつかありますが、定義上、それらは要求時に事前にわかっている要求パラメーターにしか反応できません。

ランタイムの柔軟性が必要な場合は、次のいずれかを実行できます。

  • 常にすべての潜在的なウィジェットを含む「完全な」ページを作成し、それをすべてのユーザーに返しますが、要素の一部を (CSS を介して) 最初は非表示にします。ウィジェットに対するユーザーの要求は単にそれを表示します。
  • AJAX を介してサーバーから HTML フラグメントを要求し、JavaScript を使用してそれらをページに添付します。
于 2013-04-25T15:08:06.357 に答える