Spring によるリクエスト処理
ハンドラ
ハンドラは、リクエストを処理可能な Bean です。コンポーネント com.ptc.mvc.components.ComponentController 構築のリクエストを処理するため、OOTB ハンドラが提供されています。このハンドラは ModelAndView (org.springframework.web.servlet.ModelAndView) を準備し、これは DispatcherServlet によって処理可能です。
コンポーネントを構築するには、その説明とデータを表す必要があります。これらのコンポーネントを提供する、ビルダーという概念が導入されました。コンポーネントの説明は ComponentConfig によって表され、ComponentConfigBuilder がこれらを提供します。コンポーネントのデータは ComponentData によって表され、ComponentDataBuilder がこれらを提供します。
ComponentConfigComponentData によって UI に表示されるコンポーネント情報が定義され、これらは ComponentDefintion によって表されます。これは MVC パラダイムにおけるモデルであり、そこでは ComponentController がコントローラとなります。
ビルダーの検索方法
コンポーネントを構築する一般的な MVC リソースは ptc1/<handler_key>/<componentId> です。ここで、
handler_key はハンドラへのリクエストのマッピングに使用されます。
componentId は構築するコンポーネントを表します。
ComponentController は、指定された componentId の各ビルダーを検索する ComponentBuilderResolver によって注入されます。
ComponentController の内部コンポーネント
いくつかの重要な ComponentController の内部コンポーネント
ComponentBuilderResolver は、リソースで指定されている componentIdComponentConfigBuilderComponentDataBuilder を検索します。
defaultMappings は各種 ComponentConfig のデフォルトビューを定義します。
ComponentParamsFactory はリクエストとレスポンスから ComponentParams を作成し、これがビルダーで使用可能になります。
ビルダーは ComponentConfigComponentData を提供し、ここからモデル ComponentDefinition が作成されます。ModelAndViewComponentDefinition によって構成され、ビュー情報が ComponentConfig または提供されている defaultMapping から取得されます。
緑色で示されているコンポーネントは Windchill クライアントアーキテクチャ (例: JCA) 固有のコンポーネントです。黒色で示されているコンポーネントは、コンポーネントオーナーによって提供されるコンポーネントです。
これは役に立ちましたか?