2009-04-08 9 views
3

私はJavaポートレットを使い慣れていないので、これらのことがかなり基本的なレベルでどのように機能するかを把握しようとしています。シンプル・ポートレットJSPページ・フローの質問

私のポートレットで複数の「ビュー」を持つ方法について今混乱しています。私のポートレットがCRUD操作に使用されるとしましょう。わかりやすくするために、ユーザーが最初にポートレットを表示すると、データベースのすべてのレコードを含む表が表示されると考えています。ユーザーはレコードをクリックして、レコードを更新するためのフォームを含むポートレットに新しいページを表示することができます。レコードを追加するのと同じように動作します。ここでは衝撃的なものはありません...

ユーザーはさまざまなビュー間をどのようにナビゲートするか、またユーザーが実行する可能性のあるさまざまなアクション(更新、追加、削除など)はどこで切り替えるべきですか?

私はオンラインで見て、あまり役に立たない「hello world」ポートレット・チュートリアルの大部分を見つけました。 Struts、JSFなどの基本的なフレームワークを使用しているようです。

私はこれを行う方法を知りたいのですがJSPを使用してビューをレンダリングするだけの基本ポートレットを使用して作業します。

答えて

5

Portlet API (JSR-168)あなたが探しているものです。これは、ポートレットコンテナによってビューがどのように管理されるか、ポートレットがどのようにレンダリングされるか、およびアクションがどのようにマッピングされるかを説明します。アクションとレンダリング - -

共同

  • ポートレットの相互作用は常に2相であるWebサーバの相互作用は常に単一相である一方で、
  • 標準Webアプリケーションでは、フォームはhtmlフォームタグのactionフィールドで指定されたサーブレットに送信されます。 JSR-168ポートレットでは、actionURLポートレットタグを使用してHTMLフォームのアクションURLが生成されます。 <form action="<portlet:actionURL/>" method="post">
  • サーブレットが前方、含む、およびリダイレクト実行を許可されのprocessAction(ActionRequest aRequest、ActionResponse aResponse)ポートレットのメソッドを呼び出すのHTMLフォーム結果を提出します。ポートレットにのみ含めることができます。
  • サーブレットは完全なページをレンダリングでき、ポートレットはページフラグメントのみをレンダリングします。
  • など
+0

はい、わかりました。しかし、3つのJSPがあり、それぞれが異なる形式を持つ場合はどうなりますか?それらはすべて私のポートレットで同じprocessAction関数をトリガーして、それから私はちょうどいくつかの隠しフォームフィールドか何かに基づいて切り替えるのですか? – Boden

+3

はい、非表示の入力パラメータを使用して、リクエストをさまざまなJSPにルーティングします。 – topchef