4

私はJSPとTiles、そしてJavaに不慣れです。現在、これらを使用してサイトのプラットフォームを変更していますが、ビュー作成者に何かを入れるべきか、コントローラーから来るのかについて混乱しています。

たとえば、私が作業している現在のページには、コンテンツタイプ(X of Yコンテンツタイプ)を含むページネーション用のタイルがあります。私の当初の計画は、View Preparerを使用して、コントローラー(HashMap)から送信されたデータを取得し、ページネーションタイルのいくつかの属性を出力することでしたが、同僚は、代わりにコントローラーでこれを行う必要があると言いました。

この場合、ビュー作成者のポイントは何ですか?少し混乱しています。Tilesのドキュメントを確認しましたが、かなり基本的で使用できません。

誰かがViewPreparerの適切なユースケースを教えてもらえますか?

4

1 に答える 1

4

コントローラは、ビジネスロジックまたはトランザクションロジックを実行するためのものです。つまり、ユーザーアクションに応答して、アプリケーションは1つ以上のアクションを実行してから、レンダリングするビューを決定する必要があります。そのため、アプリケーションのフローを「制御」するため、コントローラーと呼ばれています。コントローラがそのジョブを実行すると、データへの変更がユーザーに表示されるようになる必要があります。ただし、そのデータを表示用に準備することは、コントローラーの仕事ではありません。必要なアクションが実行され、データが利用可能であることを確認するだけです。

ビュー(この場合はjspページ)がデータを取得して表示します。私が理解しているように、View Preparerは、ビューのいくつかの側面を考慮に入れて、いくつかの異なるビューで実行する必要のある準備をPreparerが実行できるようにするのに役立ちます。

したがって、メニューの準備に関するドキュメントの例は、優れたユースケースです。メニューは、システムの状態に応じてユーザーに正確に表示されるという意味で、動的な場合があります。ユーザーがログインしていないときにメニューにログインリンクを表示し、ユーザーがログインしているときにそのリンクをメニューから削除するとします。メニューを表示する必要があるすべてのページにそのロジックをコーディングするのではなく、必要なロジックを実装するメニューを生成するViewPreparerを使用できます。そのViewPreparerは、複数のページに関連付けることができます。

ビジネスロジックではなく、表示するためにデータを操作することと考えてください。

于 2009-05-15T22:18:30.360 に答える