2009-04-09 5 views
0

derzeit verwende ich noch 1.1 specs, also versuche ich einfach zu machen, was zu komplex für mich ist: p, Verwalten von Backing-Beans mit widersprüchlichen Navigationsregeln, externe Params Regeln brechen und so weiter ... zum Beispiel wenn ich brauche Backing Bean von anderen "Ansichten" einfach verwende ich FacesContext in anderen Backing-Beans, aber oft ist es zu JSF Navigation/Initialisierung Regeln zu verdrahten, um wirklich nutzbar zu sein, und natürlich einfacher ist nützlicher geworden der FacesContext.Ajax und JSF 1.1 mit versteckten iframe mit "Proxy-Formulare", was denkst du über diese Entwicklungsstrategie?

Also mit nur ein bisschen Cross-Browser-Javascript (einfach eine Formkopie und eine Lese-Schreib auf einem "Proxy" -Formular), erstelle ich eine Art Proxy-Formular innerhalb der Hauptbenutzer-Seite (völlig losgelöst von JSF Navigationsregeln , aber JSF Taglibs verwenden). Ajax gibt mir Flexibilität bei der Benutzerinteraktion, aber Daten werden immer von JSF verwaltet.

Praktisch fordere ich alle "fiktiven" Benutzeraktionen zu einem versteckten "iframe", die alle benötigten Formulare nach JSF-Regeln aufbauen, dann ein Javascript einfach seine Formularausgabe klonen und in die Benutzeransichtsebene stellen (CSS zum Anzeigen/(echte Befehlsknöpfe verstecken und hübsch machen), der Benutzer spielt herum und wenn er submit anklickt, kopiert ein Skript alle "proxied" -Formularwerte in das reale JSF-Formular innerhalb des "iframe", das die echte Übermittlung des Formulars aufruft, was es zurückgibt ist offensichtlich abhängig von Ihrer Wahl.

Jetzt JSF ist wirklich ein Vergnügen :-P

Mein wirkliches Interesse zu wissen, was Ihre alternative Strategie zur Verwendung von reinem Ajax und JSF 1.1 ohne mittlere Schicht wie Ajax4jsf und andere Annahme, alle eine gute Wahl, aber auch viel "plugins" als specs.

Antwort

0

Mein Vorschlag ist, dass Sie einen Blick auf die Javascript-Frameworks da draußen werfen, zum Beispiel Prototype oder JQuery. Sie verfügen über Funktionen, mit denen Sie Formulardaten serialisieren und mit Ajax an den Server senden können. Dann können Sie die Antwort zurückbekommen und auf der Webseite anzeigen. Sehen Sie sich Form.serialize und Ajax.Updater von Prototype an. Ich denke, es ist eine sauberere Art, Dinge zu tun, als "Proxy" iframes und Formulare zu verwenden.

Angenommen, Sie haben ein Formular und möchten es an den Server senden und das Formular durch ein HTML-Snippet vom Server ersetzen. Dies ist eine Möglichkeit, es zu tun Prototype mit:

new Ajax.Updater('divThatWrapsTheFormTag', 'someUrl', { 
    parameters: Form.serialize('formId') 
}); 
+0

Ja es eine Idee ist, ich jQuery in .NET für andere reine Web-Projekte verwendet/CFM/PHP, aber für JSF entschied ich mich für die Yahoo-Javascript-Bibliothek, YUI –