0

何年もの間、私は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 **

私は私がこの問題で少し混乱しているスイングの言及だと思います。私がやりたいことは、ウェブに利用可能なコンポーネントを作成することですデザイナーしかし、文字列テンプレートは任意の文字列テンプレートに含めることができます。

だから私はすべてこれになると思います。

本文は文字列テンプレートフレームワークを認識していますので、実行時に文字列テンプレートに含まれる他の文字列テンプレートを特定できます。

+0

を試してみてくださいそして、サーブレットで、あなたは、例えば、JSPページに転送? – mschonaker

+0

したがって、実行時にカスタムWebページを作成/読み込み/更新/削除するためのフレームワークが必要ですか? –

答えて

2

Struts 2、Spring MVC、JSFなどのフレームワークを既に試したことがありますか?

これらのフレームワークには何かがありますか?

+0

私はstruts、jsf、StringTemplateを調べました。私はそれらの3つのポイントを上記で達成することができませんでした。しかし、私はいくつかの機能を見落としている可能性があります。したがって、疑問です。 – JustDanyul

+0

サーブレットを直接使用する人はいないので、なぜ「サーブレット」について話しているのか分かりません(Web開発者はMVCフレームワークを使用します)。それはあなたの質問を理解するのを非常に困難にします。しかし、他の答えについては下を参照してください。 – Tristan

+0

私はジェネリックコントローラとしてサーブレットを使いたいと思っていました。テンプレートを文字列として表示し、必要に応じて必要なモデルを動的にロードしています:)上記の例はStringTemplateに基づいていました。 GWTに関するヒントをお寄せいただき、ありがとうございました。 – JustDanyul

0

あなたはMVC(またはMVP)とウェブスイングのような者協会を行いたい場合は、GWT

関連する問題