何年もの間、私はModel-View-Controllerデザインパターンとそれが提供するメリットのためにかなりの愛情を抱きました。しかし、私はWebアプリケーションに関しては、これらの利点を最大限に活用することに苦労しています。MVCとJava-EE
私はで構成されていUsersComponentと呼ばれるコンポーネントを作成した場合:
- ユーザーのリスト
- 積極的にユーザー Javaで次に
のこのリストをフィルタリングするテキストフィールドSwing、あなたはJPanelを拡張したUserComponentクラスを簡単にやることができ、UserComponentの内部では、クラスをモデル化、表示、制御することができます。そして、あなたは非常に簡単に再利用可能なコンポーネントで終わるでしょう。
ここで私がやりたいことは、Java-EEでこれを模倣することです。文字列テンプレートは、これに対する解決策を提供するようです。しかし、追加のひねりを加えて。私はウェブデザイナーが好きです。そして私は、開発者を関与させたり、どこのエントリポイントを使うべきかを考えずに、コンポーネントを追加する機会を提供したいと考えています。
たとえば、基本ページテンプレートがあり、設計者がこのページのどこかにUserComponentコンポーネントを追加したいとします。ほとんどの場合、いくつかの要求パラメータに基づいてモデルを生成する必要があります。
ここで実際の質問があります。誰でもテンプレートを特定する方法を知っていますか?したがって、このテンプレートを実行時に(または変更するたびに)分析し、メインページコントローラで適切なハウスキーピングを行うことができますか?基本的には
ので、私はこれを実現できます。
- デザイナーはstringtemplateを作成します。
- 書き換えモジュールは、
- ページ・レンダリング・サーブレットは、パラメータに基づいてstringtemplateをロードwww.mydomain.com/pagerenderservlet?templateName=MyPageにwww.mydomain.com/IgnoredFolderNameForSeo/MyPageを変更し、それを分析し、MyPage.stを言いますどのコンポーネントが文字列テンプレート内で使用されているかを判断し、必要に応じてそれらを初期化します。
現在、私が思いつくことができる最高の解決策は、さまざまな基本ページに対して異なるサーブレットを用意することです。機能のサブセットが異なります。しかし、私はこの解決策に全く満足していません。それを動的に処理する可能性があるならば、それはもっときれいになるでしょう。基本的には、サポートされているすべてのコンポーネントに対してハンドラーを用意していますが、実際に必要なものを初期化/処理するだけです。
私はこれであなたの男の考えを聞くのが大好きだ:)
は** UPDATE **
私は私がこの問題で少し混乱しているスイングの言及だと思います。私がやりたいことは、ウェブに利用可能なコンポーネントを作成することですデザイナーしかし、文字列テンプレートは任意の文字列テンプレートに含めることができます。
だから私はすべてこれになると思います。
本文は文字列テンプレートフレームワークを認識していますので、実行時に文字列テンプレートに含まれる他の文字列テンプレートを特定できます。
を試してみてくださいそして、サーブレットで、あなたは、例えば、JSPページに転送? – mschonaker
したがって、実行時にカスタムWebページを作成/読み込み/更新/削除するためのフレームワークが必要ですか? –