2013-04-08 3 views
5

@RequestMapping,@ActionMapping@RenderMappingの違いはわかりません。上記のすべてが最終的に要求URLをコントローラの実際のメソッドにマップするようです。違いは何ですか? で行うことができない@Rendermappingで何ができるのですか?@ ActionMapping、@ RequestMapping、@ Rendermappingの違い

答えて

11

@RequestMappingモード(EDIT、VIEWなど)と他の多くのオプション(ウィンドウ状態ではありません)を指定できます。 @RenderMappingでは、リクエストパラメータとウィンドウ状態(MAXIMIZED、NORMALなど)のみを指定でき、レンダリング要求のマッピングを示す便利な方法です。両方のアノテーションを同じクラスで使用できます。たとえば、クラスレベルでRequestMappingで注釈を付けると、VIEWモードへのリクエストを処理してから、特定のリクエストのハンドラに@RenderMapping(または@ActionMappingまたは@ResourceMapping)の注釈を付けることができます。

さまざまな種類のリクエストについて今言及することはおそらく役に立ちます。

レンダリング要求はHTMLをレンダリングするために使用されるため、通常はJSPや他のタイプのビューを表示します。

アクションリクエストは、データの変更、ファイルのアップロードなどのアクションを実行するために使用されます。各アクションリクエストのあとにレンダリクエストがあることに注意することが重要です。したがって、ページに2つのポートレットがあり、ポートレット1にアクション要求を行うと、アクション要求の後にレンダリング要求が送信されます。ポートレット2はレンダリング要求を受け取るだけです。あなたは

リソース要求が他のコンテンツタイプをレンダリングするために使用することができ、また、関心のある言及していない要求の別のタイプがあります

。 AJAXは、リソースリクエストの一般的な使用例です。たとえば、JSONやXMLを返すのに適しているからです。

イベント要求も存在し、ポートレット間通信に使用できます。

Spring portlet docsをお勧めします。アノテーションをうまくカバーしていませんが、さまざまなリクエストタイプについて説明しています。その情報を使用してアノテーションを作成できるはずです。

NB。@RequestMappingを使用してレンダリング、アクション、リソースの要求を定義できますが、@RenderMapping,@ActionMappingまたは@ResourceMappingの方が便利です。

関連する問題