Beim Aufruf von einer JSF Seite eine Methode ausführen

Status
Nicht offen für weitere Antworten.

freez

Top Contributor
Hallo,

ich habe eine JSF Seite, die direkt aufgerufen werden kann (also ohne ein Action oder ActionListener von einer anderen JSF Seite). Nun möchte ich beim Aufruf der Seite eine bestimmte Methode in meiner Bean ausführen, um gewisse Daten in der Bean aus der Datenbank zu aktualisieren, BEVOR die Getter in der Bean angesprochen werden.

Hintergrund: gewisse Daten können erst nach der Datenbankabfrage zur Verfügung stehen (zum Beispiel die Anzahl der gefunden Datensätze, die ich in der Seite ausgeben will). Realisiere ich die Datanbankabfrage in einem Getter, habe ich keine Kontrolle darüber, wann sie ausgeführt wird. Ich muss also sicherstellen, das die Datenbankabfrage vor allen Getter Aufrufen geschieht.

Welchen Mechanismus kann ich dafür verwenden?
 

number8

Aktives Mitglied
Wenn ich das richtig verstehe müsstest Du doch einfach bloß ein JSF-Tag einbauen, daß aufgerufen wird (und dann diese besagte Methode aufruft) bevor alle anderen JSF-Tags, die auf Getter bzw. Setter zugreifen, aufgerufen werden. Keine Ahnung, vielleicht <h:eek:uputText value="#{<beanname>.<getterMethode die einen lerren String zurückgibt>}"/> oder ein Attribut im <h:form> ?
 

freez

Top Contributor
Hm,

eure Antworten sind schon interessant,

@mlange8801: Ich arbeite leider viel mit sessions

@maki: hm, einen extra viewhandler erscheint mir zu aufwändig. Das Framework schaue ich mir mal an

@number8: an diese Version habe ich auch schon gedacht. Ich denke ich könnte es wohl schon irgendwie implementieren, aber es kommt mir wie zusammengemurkst vor.

Ich habe gehofft, das Facelets oder JSF eine Möglichkeit bieten, eine Methode beim Aufruf der Seite auszuführen.

Als Alternative könnte ich mir ein Framework vorstellen, welches mir die Datenbankzugriffe managt. Welches Framework könnt ihr für einfache Anwendungen empfehlen?
 
M

maki

Gast
Als Alternative könnte ich mir ein Framework vorstellen, welches mir die Datenbankzugriffe managt. Welches Framework könnt ihr für einfache Anwendungen empfehlen?
Hibernate oder iBatis, je nachdem was du brauchst (ORM vs. einfache SQL Kapselung), direkt mit JDBC würde ich nix mehr machen.

Übrigen gibt's beim shale Framework ein extra Scope, "Dialog", darin exisiteren Objekte die für einen Dialog gebaucht werden, feiner als Session und grober als Request.
 

freez

Top Contributor
@maki: Der Dialog Scope hört sich sehr interessant an. Ich würde mich gern von Sessions distanzieren. Aber Request reicht für mich oft nicht.

Von JDBC würde ich mich auch gern entfernen. Was ist denn einfacher zu benutzen ... Hibernate oder iBatis?
 
M

maki

Gast
Hibernate ist schwieriger zu lernen, hat seine Implikationen und Auswirkungen auf die Anwednung, echtes ORM eben.
Auch wegen der JPA lohnt sich es lang- und mittelfristig es zu erlernen, auch wenn die Lernkurve sehr steil ist.

iBatis ist ein eher kleines Framework bei dem du die meisten Probleme selbst lösen musst, einige Probleme (Trennung von SQL Code und Java Code, DAO Framework, etc.) sind schon gelöst.

iBatis ist meine erste Wahl für die Erweiterung von alten Anwendungen, Hibernate/JPA kommt zum Einsatz wenn ein neues Projekt entwickelt wird.

Nachtrag: Spring bietet auch einen eigenen Scope an, glaube der hies "Conversation", ist im Prinzip das gleiche wie "Dialog".
 

freez

Top Contributor
also danke dann erst mal ... ich habe mir gerade das iBatis Tutorial angeschaut. Macht einen guten und einfachen Eindruck. Hoffentlich ist es auch so einfach und problemlos es zu implementieren :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkm Problem beim Import eines dynamischen Webprojekts als .zip Web Tier 2
Rudolf Glassfish stoppen beim Start ALLE Applikationen zu deployen Web Tier 3
T JSF Primefaces beim öffnen eines p:dialog wird eine neue View ManagedBean erstellt Web Tier 2
M Exception beim Erstellen einer Query Web Tier 9
M JSP Problem beim deployen auf Tomcat Web Tier 2
H JSP Class not found beim Applet-Start Web Tier 4
S JSF Probleme beim redirect im ExceptionHandler Web Tier 2
B JSP Warning [unchecked] beim Build von JSP Web Tier 5
D Probleme beim installieren von WebBeans Web Tier 2
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
I Beim zurück-Link wird immer ein Request ausgeführt Web Tier 5
K [GWT] Probleme beim asynchronen Methodenaufruf mit GWT-RPC Web Tier 8
Spin JSP Fehler beim casten , why? Web Tier 6
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
F Fehler beim erstellen des EJB - Moduls! Web Tier 4
N RequestDispatcher: include-Aufruf einer jsp scheitert nach mehreren forward-Aufrufen Web Tier 1
A Faces Context nicht mehr erreichbar nach Servlet Aufruf Web Tier 1
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
D JSF Aufruf des Value Attributes trotz rendered = false Web Tier 2
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
J JSF AJAX-Aufruf ohne Komponente Web Tier 4
H Managed Bean Aufruf auf Stack legen Web Tier 10
R Direkten Servlet-Aufruf verhindern (JSP) Web Tier 3
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
T Aufruf von Visual Server Pages Web Tier 3
F Redirect nach Aufruf einer JSP Web Tier 5
M druckansicht erzeugen - doppelter aufruf? Web Tier 2
M In einer HTML Tabelle positionieren Web Tier 4
I Daten einer Datenbank in ein Formular einfügen Web Tier 3
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Popup mit einer Checkbox Auswahlliste Web Tier 1
S Rendern einer Komponente nach actionListener Web Tier 2
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
J JSF Initialisierung einer ApplicationScoped Bean Web Tier 2
J Anzeige einer Hierarchie Web Tier 5
N JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen Web Tier 4
J Performance einer Webanwendung Web Tier 2
V JSF Rendering abhängig von einer Auswahl Web Tier 8
P JSF Merkwürdiges Verhalten einer Bean Web Tier 11
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
X JSP Auslesen der Daten einer Session Web Tier 3
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
1 JSP Mit Daten einer c:forEach Rechnen ? Web Tier 4
H Seiten-reload als Result einer Action Web Tier 3
N Wie mache ich in einer xhtml (JSF) einen redirect? Web Tier 3
F Prinzipielle Architektur einer Web-Anwendung Web Tier 4
A [JSF 2.0] Ausgabe aus Schleife bzw. einer ArrayList Web Tier 9
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
O Focus auf Textfeld, in letzter Reihe einer dataTable Web Tier 2
M Frage zur Konfiguration einer RichFaces DataTable Web Tier 4
I Eine Bean von einer anderen Bean aufrufen Web Tier 2
C PanelGrid aus einer Liste Web Tier 3
J JSF: Initialisieren einer Property mit Wert? Web Tier 5
P Struts2 - Mehrere Methoden/Actions in einer Klasse + Validation Web Tier 2
S Attribute einer HttpSession / unchecked cast Web Tier 8
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
N Architektur einer Such-Webanwendung Web Tier 4
E Methode einer Bean aus anderer Bean aufrufen Web Tier 10
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
C navigation auf einer jsp Seite Web Tier 3
pusteblume Mehrere Objekte einer Bean Web Tier 10
D JSF+Weiterleitung zu einer Login-Page Web Tier 1
F Darstellung einer Tabelle mit JSP Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben