今、私のweb.xmlは、Spring MVCが* .htmlサフィックスを持つものを引き継ぐように設定されています。現在のユーザー状態に基づいてWebリンクを生成するコントローラがいくつかあります。Spring MVCはWebリンクを構築するためのJava APIを提供していますか?
たとえば、私は、「次へ」ボタンがポイントすべきかを決定するために、次のコードがあります:私は「.htmlを」をハードコーディングしていますので、私はこのアプローチを好きではない、
if (nextSlide != null) {
nextLink = String.format("/%s/module/%d/slide/%d.html", studyName, moduleId, nextSlide.getKey());
}
else {
nextLink = String.format("/%s/module/all.html", studyName);
}
をしかし、ここのリンクに。私は確かにすべてのコントローラコードから隠すために ".html"接尾辞付きのリンクを生成するファクトリを作成することができますが、それでも私のJavaコードでは ".html"を一度ハードコードする必要があります。
私は基本的に、Spring MVCにリンクを構築するためのいくつかのAPIがあることを期待しています。これらのAPIが存在しない場合、ここで行っているようにJavaコードのサフィックスをハードコードしていますか?
が、私は私の現在のプロジェクトのためのJava側でそれをやった理由:あなたは、最も可能性が高いだけで、本質的に新しい
ModelAndView
を返すか、少なくとも一つにリダイレクトすることで、以下の例に似た何かができますこれは、次のリンクを決定するために多くの計算を必要とするためです。私がビューでそれを行うならば、多くの変数がモデルに渡され、多くの論理がリンクを構築するという視点で結局終わるでしょうが、それははるかにきれいではありません。 – limc