実用的である限り、RESTの原則に従おうとするSpring 3.0 Webアプリケーションがあります。Spring MVC&Rest:同じ「コンテンツ」で異なる「レイアウト」ですか?
私はフォルダを返すコントローラメソッドを持っています(これは私のビジネスエンティティです)。 (GET http://.../folders/ {id})。ユーザーがこのURLにアクセスすると、ヘッダー、フッター、メニュー、およびフォルダーの詳細を含む完全なHTMLページが取得されます。 - ヘッダー、フッター、メニューの "強化"はApache Tilesで行われます。
ここでは、ユーザーにフォルダツリーが表示され、フォルダの1つをクリックすると、フォルダの詳細がAJAX経由で読み込まれ、ツリーの隣に表示されます。この場合、リアルのコンテンツは、ユーザーがフォルダページに直接アクセスしたときのように表示されるため、AJAXレスポンスはレンダリングされたHTML(JSONなし)である必要があります。
私は同じURLを要求すると、サーバーは本物ののコンテンツだけでなく、ヘッダー、フッター、メニューも返します。
私の質問は、私はスタイリッシュ方法でこれを処理する方法である: - もちろん、私は追加のパラメータと異なるタイルテンプレートを持つ2つのコントローラメソッドを使用することができますが、私はそれがためにhtmlのパラメータを使用しているため、素敵ではないと思います「レイアウト」と私は2つのコントローラのメソッド(と周りのすべてのもの)を記述する必要が2つのだけのタイルテンプレート
- を有するように別のHTML「レイアウト」と同じ「コンテンツ」にアクセスする推奨方法は何ですか休憩方法?
- タイルテンプレート定義でテンプレートを切り替える方法はありますか(どのように指定するかは、他の質問に対する回答によって異なります)。
私はコンテンツネゴシエーションを知っています。しかし、私の2つの "レイアウト"の正しい内容は何ですか?なぜなら、両方の**のケースでHTMLなのでです。 text/htmlとapplication/html? – Ralph
同じURLの2種類のドキュメントを配信するために、Content-Acceptヘッダーを誤って使用しているようです。私は "スタイリッシュな"コードの名前のために多くのフープを飛び越えてはいけないと考えています。 –
それどころか、私はヘッダー(Content-AcceptではなくAccept)を使い、人間が読めるようなものにtext/htmlを使うのはかなり標準的だと考えています。あなたがそれを行うことができれば、マシンで読めるバージョンについては、application/xhtml + xmlをお勧めしたいと思います。後者は[IANAカタログ](http://www.iana.org/assignments/media-types/index.html)には記載されていません。 –