0

何年にもわたって、私はModel-View-Controllerデザインパターンとそれが提供する利点にかなりの愛情を抱きました。しかし、Webアプリケーションに関しては、これらの利点を最大限に活用するのに苦労しています。

UsersComponentというコンポーネントを作成する場合、次のもので構成されます。

  • ユーザーのリスト
  • このユーザーリストをアクティブにフィルタリングするテキストフィールド

次に、Java Swingでは、JPanelを拡張したクラスUserComponentを簡単に実行でき、UserComponent内で、クラスのモデル化、表示、および制御を行うことができます。そして、非常に簡単に再利用可能なコンポーネントになります。

さて、私がやりたいのは、Java-EEでこれを模倣することです。文字列テンプレートは、このための解決策を提供するようです。しかし、さらにひねりを加えました。私はウェブデザイナーが好きです。また、開発者を関与させたり、使用するエントリポイントに多くのことを入れたりすることなく、コンポーネントを追加する機会を提供したいと思います。

たとえば、ベースページテンプレートがあり、設計者がこのページのどこかにUserComponentコンポーネントを追加したいとします。次に、ほとんどの場合、いくつかのリクエストパラメータに基づいてモデルにデータを入力する必要があります。

それで、これが実際の質問です。特定のテンプレートにどのテンプレートが含まれているかを判断する方法を知っている人はいますか。したがって、このテンプレートを実行時に(または変更するたびに)分析し、メインページコントローラーで適切なハウスキーピングを実行できますか?

基本的に、私はこれを達成することができました:

  • Designerはstringtemplateを作成します。言う、MyPage.st
  • モジュールを書き換えると、www.mydomain.com / IgnoredFolderNameForSeo/MyPageがwww.mydomain.com/pagerenderservlet?templateName=MyPageに変更されます。
  • ページレンダリングサーブレットは、パラメータに基づいてstringtemplateをロードし、それを分析して文字列テンプレート内で使用されているコンポーネントを判別し、必要に応じてそれらを初期化します。

現在、私が思いついた最善の解決策は、ベースページごとに異なるサーブレットを用意することです。これにより、機能のさまざまなサブセットが公開されます。しかし、私はこの解決策にまったく満足していません。動的に処理する可能性があれば、とてもきれいになります。基本的に、サポートされているすべてのコンポーネントのハンドラーがありますが、実際に必要なコンポーネントのみを初期化/処理します。

私はこれについてあなたたちの考えを聞いてみたいです:)

** アップデート **

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

だから私はそれがすべてこれに帰着すると思います。

文字列テンプレートフレームワークを知っている人はいますか?実行時に、他のどの文字列テンプレートが文字列テンプレートに含まれているかを判断できます。

4

2 に答える 2

2

あなたの質問がよくわかりません。Struts 2、Spring MVC、または JSF などのフレームワークを既に試しましたか?

これらのフレームワークに欠けているものはありますか?

于 2011-07-16T08:55:19.947 に答える
0

MVC(またはMVP)を使用してWeb Swingのような開発を行う場合は、GWTを試してください。

于 2011-07-16T17:12:30.177 に答える