24

Springを使い始めたばかりです。私は多くのチュートリアルに出くわしました。InternalResourceViewResolverよりも多くの使用例を見ましたUrlBasedViewResolver。Spring のドキュメントを見ましたが、どちらを使用するメリットがわかりません。誰かが説明を提供できますか?

4

3 に答える 3

8

Spring は、幅広いビュー技術をサポートしています。ViewResolvers は、サポートされている既知のビュー テクノロジをアプリケーションにプラグインするために用意されています。

UrlBasedViewResolverURLは、パターンを対応するファイル名に一致させることによって、さまざまなテクノロジのビューを単純に解決するシンプルなビュー リゾルバーです。

UrlBasedViewResolverタイプ「 AbstractUrlBasedView 」のすべてのビュー技術をサポートするためにここにあります。

AbstractJasperReportsView, AbstractPdfStamperView, AbstractTemplateView, InternalResourceView, RedirectView,TilesViewXsltViewの既知のサブクラスですAbstractUrlBasedView

したがって、使用しているUrlBasedViewResolver場合は、 のサブクラスのいずれかをAbstractUrlBasedViewビュー テクノロジのタイプとして使用できます (対応する viewClass のみを設定することにより)。

InternalResourceViewResolverは のサブクラスですUrlBasedViewResolver

しかしInternalResourceViewResolver、 (の便利なサブクラスである) を使用している場合は、ビュー テクノロジとしてUrlBasedViewResolvertype のテクノロジのみを使用できます。InternalResourceView

これはあなたの質問に答えると思います。

于 2013-07-03T16:18:40.177 に答える
4

InternalResourceViewResolverの実際のサブクラスですUrlBasedViewResolver

UrlBasedViewResolver- ビュー名は URL に直接解決されます。明示的なマッピングは提供されません。prefixビュー名は URL 自体になるか、設計に従ってまたはを追加できsuffixます。また、「redirect:」および「forward:」のプレフィックスを付けて、リクエストをリダイレクトおよび転送することもできます。

InternalResourceViewResolver- InternalResourceView をサポートする UrlBasedViewResolver のサブクラス。ラップ JSP または同じ Web アプリのInternalResourceView他のリソース。EL を使用して JSP 内のモデルにアクセスできます。

: 一部の URLBasedViewResolver (Tiles、Velocity、Freemarker) は、リソースが存在するかどうかを確認し、null を返します。そのため、ビュー リゾルバ チェーンのどこにでも配置できます。その他は最後にする必要があります (JSTL/JSP、XSLT、JSON)

したがってInternalResourceViewResolver、実際のリソースが存在するかどうかに関係なくビュー名を解決するため、ビューリゾルバーのチェーンの最後にする必要があります。

他のいくつかの URLBasedViewReolver は

  1. InternalResourceViewResolver
  2. VelocityViewReolver
  3. FreeMarkerViewReolver
  4. ThymeleafViewResolver
  5. XsltViewReolver
于 2016-01-10T07:11:24.220 に答える