2009-04-08 10 views
3

Ich bin neu in Java-Portlets, und versuche zu verstehen, wie diese Dinge auf einer ziemlich grundlegenden Ebene funktionieren.Einfache Portlet JSP Seite Flow-Frage

Ich bin jetzt verwirrt darüber, wie mehrere "Ansichten" in meinem Portlet haben. Nehmen wir an, mein Portlet wird für CRUD-Operationen verwendet. Der Einfachheit halber stelle ich mir vor, dass wenn ein Benutzer das Portlet zum ersten Mal sieht, eine Tabelle mit allen Datensätzen aus der Datenbank angezeigt wird. Der Benutzer kann dann möglicherweise auf einen Datensatz klicken, der eine neue Seite im Portlet anzeigt, die ein Formular zum Aktualisieren des Datensatzes enthält. Das Hinzufügen eines Datensatzes funktioniert ähnlich. Nichts schockierend hier ...

Wo kann ich steuern, wie der Benutzer zwischen den verschiedenen Ansichten navigiert, und wo ich zwischen den verschiedenen Aktionen, die der Benutzer ausführen kann (Update, Hinzufügen, Löschen, usw.)?

Ich habe online gesucht und eine Menge "Hallo Welt" Portlet Tutorials gefunden, die nicht viel helfen. Ich habe viele andere Tutorials gefunden, die fortgeschrittener sind und darauf ausgerichtet sind, was ich tue, aber sie scheinen alle zugrunde liegenden Frameworks wie Struts, JSF, etc. zu verwenden.

Ich würde gerne wissen, wie man das macht Verwenden Sie nur ein einfaches Portlet, das JSPs zum Rendern der Ansichten verwendet.

Antwort

5

Portlet API (JSR-168) ist, was Sie suchen müssen. Dies erläutert Ihnen, wie Ansichten von Portlet-Containern verwaltet werden, wie Portlets gerendert werden und wie Aktionen zugeordnet werden.

Co

  • Portlet-Interaktion ist immer 2-Phasen - Aktion und machen - während Web-Server-Interaktion immer einzelne Phase ist;
  • In einer Standard-Webanwendung wird das Formular an das Servlet übergeben, das im Aktionsfeld des HTML-Formular-Tags angegeben ist. Im JSR-168-Portlet wird die Aktions-URL für ein HTML-Formular mithilfe des actionURL-Portlet-Tags generiert, z. <form action="<portlet:actionURL/>" method="post">
  • Vorlage der HTML-Formular führt den Aufruf des process (actionrequest aRequest, ActionResponse aResponse) Verfahren eines Portlet
  • Servlets umfassen tun dürfen, vorwärts, und leiten; Portlets dürfen nur enthalten sein.
  • Servlets können eine komplette Seite rendern, Portlets nur Seitenfragmente rendern.
  • und so weiter
+0

Ja, das verstehe ich. Aber was, wenn ich drei JSPs habe, jede mit einer anderen Form. Wird in meinem Portlet die selbe processAction-Funktion ausgelöst, und dann wechsle ich einfach basierend auf .... einem versteckten Formularfeld oder etwas? – Boden

+3

Ja, wir verwenden versteckte Eingabeparameter, um Anfragen an verschiedene JSPs weiterzuleiten. – topchef