Springmvcビューとビュー解析器関連クラスの紹介
Springmvc@RequestMappingルーティングの方法でビジネス処理を行うと、戻り値があり、戻り値はビュー解析器で解析した後、viewを生成し、viewで具体的なjspページ、excel、pdf、json、xmlなどにレンダリングされます.
ビュー解析器ViewResolverインタフェースを見てみましょう
ビュー名とローカライズされたオブジェクトからビューオブジェクトを得る方法は1つだけです.ビューオブジェクトインタフェースを見てみましょう.
2つの主な方法は、1つはgetContentTypeであり、メディアタイプを取得し、1つはrenderレンダリングビューであり、モデルデータを特定のビューにレンダリングする.ビューの主な作業は、メディアタイプに応じてモデルデータを特定のビューにレンダリングすることです.
ViewResolverには複数の解析ポリシーがあります.各解析ポリシーには対応するビュー解析器実装クラスとOrderedインタフェースがあります.orderを構成して複数のビュー解析器解析ビュー名の順序を指定できます.どの解析ポリシーがあるか見てみましょう.
ビュー解析器実装クラス
説明
beanNameViewResolver
通常、ビュー名をbeanとして解析し、ビュー名はbeanのidとします.
XmlViewResolver
beanNameViewResolverと同様に、beanNameViewResolverとの違いは、DispatchServerのプロファイルではなくxmlファイルに配置することです.
ResourceBundleViewResolver
このクラスを使用して、異なるローカライズタイプに対して異なる解析結果を提供できます.
InternalResourceViewResolver
一般的に、このクラスで接頭辞と接尾辞を構成し、jspページなどのURLファイルに解析します.解析の優先度が最も低いです.
XsltViewResolver
ビュー名を指定したXSLTスタイルシートのURLファイルに解析
JasperReportsViewResolver
JasperReportsはjavaベースのオープンソースレポートツールで、ビュー名をレポートファイルに対応するパスに解析します.
FreeMarkerViewResolver
FreeMarkerテンプレート技術に基づくテンプレートファイルの解析
VelocityViewResovler,VelocityLayoutViewResovler
Velocityテンプレート技術に基づくテンプレートファイルとして解析
ContentNegotiatingViewResovler
通常、コンテンツ交渉ビュー解析器は、特定のビュー解析を担当せず、要求されたメディアタイプに応じて、登録されたビュー解析器から適切な解析器を選択してビュー解析を行い、解析の優先度が最も高い
ビュー解析器ビュー名をビューに解析すると、ビューのレンダリングには異なるレンダリングポリシーがあります.各レンダリングポリシーには対応する実装クラスがあります.どのポリシーがあるか見てみましょう.
ビュー実装クラス
説明
InternalResourceView
jspまたはその他のリソースを1つのビューにカプセル化します.これはInternalResourceViewResolverが解析したビューです.
JstlView
jspファイルでJSTLの国際化ラベル機能を使用する必要がある場合は、InternalResourceViewビュークラスではなく、このビュークラスを使用する必要があります.
XsltView
XSTL駆動のビュー
TilesView
Tilesページレイアウトに基づくビュー
TilesJstlView
TilesテンプレートのjspコンポーネントファイルがJSTLに使用されている場合は、このビューでTilesViewを置き換える必要があります.
AbstractExcelView
Excelビュー抽象クラス、開発者はAbstractExcelViewを継承し、ビューモデルを取得して埋め込み、自分のドキュメントビューを実現し、POIに依存する必要がある
AbstractJExcelView
AbstraactExcelViewとはJExcelAPIに依存しているだけだ
AbstractPdfStamperView
PDFドキュメントビュー抽象クラス、AcroFormによるPDFドキュメントの操作
AbstractPdfView
PDFドキュメントビュー抽象クラスは、iTextに依存して独自のPDFドキュメントビューを実現する抽象クラスです.
FreeMarkView
FreeMarkテンプレートエンジンを使用したビュー
VelocityLayoutView
Velocityテンプレートエンジンを使用したビュー
VelocityView
Velocityテンプレートエンジンを使用したビュー
ConfigurableJasperReportsView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsCsvView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsHtmlView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsMultiFormatView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsPdgView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsXlsView
Java JasperReportsレポート・テクノロジーを使用したビュー
MarshallingView
モデルデータをoxmとMarshaller技術でxml方式で出力
MappingJackson2JsonView
Jackson開発フレームワークのObjectMapperがJSON方式でモデルデータを出力
MappingJackson2XmlView
Jackson開発フレームワークのObjectMapper XML方式でモデルデータを出力
redirectView
redirect:とforword:接頭辞によるリダイレクトのビュー
ビュー解析器ViewResolverインタフェースを見てみましょう
public interface ViewResolver {
View resolveViewName(String viewName, Locale locale) throws Exception;
}
ビュー名とローカライズされたオブジェクトからビューオブジェクトを得る方法は1つだけです.ビューオブジェクトインタフェースを見てみましょう.
public interface View {
String RESPONSE_STATUS_ATTRIBUTE = View.class.getName() + ".responseStatus";
String PATH_VARIABLES = View.class.getName() + ".pathVariables";
String getContentType();
void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception;
}
2つの主な方法は、1つはgetContentTypeであり、メディアタイプを取得し、1つはrenderレンダリングビューであり、モデルデータを特定のビューにレンダリングする.ビューの主な作業は、メディアタイプに応じてモデルデータを特定のビューにレンダリングすることです.
ViewResolverには複数の解析ポリシーがあります.各解析ポリシーには対応するビュー解析器実装クラスとOrderedインタフェースがあります.orderを構成して複数のビュー解析器解析ビュー名の順序を指定できます.どの解析ポリシーがあるか見てみましょう.
ビュー解析器実装クラス
説明
beanNameViewResolver
通常、ビュー名をbeanとして解析し、ビュー名はbeanのidとします.
XmlViewResolver
beanNameViewResolverと同様に、beanNameViewResolverとの違いは、DispatchServerのプロファイルではなくxmlファイルに配置することです.
ResourceBundleViewResolver
このクラスを使用して、異なるローカライズタイプに対して異なる解析結果を提供できます.
InternalResourceViewResolver
一般的に、このクラスで接頭辞と接尾辞を構成し、jspページなどのURLファイルに解析します.解析の優先度が最も低いです.
XsltViewResolver
ビュー名を指定したXSLTスタイルシートのURLファイルに解析
JasperReportsViewResolver
JasperReportsはjavaベースのオープンソースレポートツールで、ビュー名をレポートファイルに対応するパスに解析します.
FreeMarkerViewResolver
FreeMarkerテンプレート技術に基づくテンプレートファイルの解析
VelocityViewResovler,VelocityLayoutViewResovler
Velocityテンプレート技術に基づくテンプレートファイルとして解析
ContentNegotiatingViewResovler
通常、コンテンツ交渉ビュー解析器は、特定のビュー解析を担当せず、要求されたメディアタイプに応じて、登録されたビュー解析器から適切な解析器を選択してビュー解析を行い、解析の優先度が最も高い
ビュー解析器ビュー名をビューに解析すると、ビューのレンダリングには異なるレンダリングポリシーがあります.各レンダリングポリシーには対応する実装クラスがあります.どのポリシーがあるか見てみましょう.
ビュー実装クラス
説明
InternalResourceView
jspまたはその他のリソースを1つのビューにカプセル化します.これはInternalResourceViewResolverが解析したビューです.
JstlView
jspファイルでJSTLの国際化ラベル機能を使用する必要がある場合は、InternalResourceViewビュークラスではなく、このビュークラスを使用する必要があります.
XsltView
XSTL駆動のビュー
TilesView
Tilesページレイアウトに基づくビュー
TilesJstlView
TilesテンプレートのjspコンポーネントファイルがJSTLに使用されている場合は、このビューでTilesViewを置き換える必要があります.
AbstractExcelView
Excelビュー抽象クラス、開発者はAbstractExcelViewを継承し、ビューモデルを取得して埋め込み、自分のドキュメントビューを実現し、POIに依存する必要がある
AbstractJExcelView
AbstraactExcelViewとはJExcelAPIに依存しているだけだ
AbstractPdfStamperView
PDFドキュメントビュー抽象クラス、AcroFormによるPDFドキュメントの操作
AbstractPdfView
PDFドキュメントビュー抽象クラスは、iTextに依存して独自のPDFドキュメントビューを実現する抽象クラスです.
FreeMarkView
FreeMarkテンプレートエンジンを使用したビュー
VelocityLayoutView
Velocityテンプレートエンジンを使用したビュー
VelocityView
Velocityテンプレートエンジンを使用したビュー
ConfigurableJasperReportsView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsCsvView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsHtmlView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsMultiFormatView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsPdgView
Java JasperReportsレポート・テクノロジーを使用したビュー
JasperReportsXlsView
Java JasperReportsレポート・テクノロジーを使用したビュー
MarshallingView
モデルデータをoxmとMarshaller技術でxml方式で出力
MappingJackson2JsonView
Jackson開発フレームワークのObjectMapperがJSON方式でモデルデータを出力
MappingJackson2XmlView
Jackson開発フレームワークのObjectMapper XML方式でモデルデータを出力
redirectView
redirect:とforword:接頭辞によるリダイレクトのビュー