JSF mit mehreren Tabs in einem Browser verwenden [duplizieren]

8

Standardmäßig scheint JSF sehr "stateful" zu sein. Ich muss Menschen erlauben, unsere Anwendung mit mehreren Tabs zu verwenden, die viele Dinge in verschiedenen Teilen der Anwendung machen.

Ich kann anscheinend keine anständige Anleitung finden, dies ohne eine Menge Re-Engineering zu erreichen.

Wir verwenden derzeit keine ICEfaces, aber ich habe das gerade in den ICEfaces docs gefunden:

  

6.5.7. ICEfaces Portlets und gleichzeitige DOM-Ansichten

     

ICEfaces bietet eine Funktion namens   Gleichzeitige DOM-Ansichten, die steuern   ob das ICEfaces-Framework oder nicht   unterstützt mehrere Ansichten eines einzelnen   Anwendung aus dem gleichen Browser.   Wenn Sie in einem Portlet-Container ausgeführt werden,   ICEfaces muss das separate behandeln   Portlets auf einer einzelnen Portalseite als   unterschiedliche Ansichten, so ist es fast immer   notwendig (und daher am sichersten) zu   Setzen Sie diesen Parameter auf "True".

     

Beispiel 6.19. Aktivieren der ICEfaces   Concurrent-DOM-Ansichten sind in der   WEB-INF / web.xml Konfigurationsdatei so   das separate Portlets auf demselben   Portalseite werden als unterschiedlich behandelt   Ansichten

     

        com.icesoft.faces.concurrentDOMViews          wahr   

Ich möchte also wissen, ob diese fabelhaft klingende Funktionalität möglicherweise auf meine vorhandenen h: -Formulare angewendet wird oder ob sie nur mit ICEface-Komponenten funktioniert?

Kann jemand einen guten Rat geben, um eine JSF-App auf mehreren Tabs zu betreiben?

    
Andrew 08.07.2010, 10:19
quelle

4 Antworten

7

In JSF 2.0 können Sie dafür den Ansichtsbereich verwenden, der mit @ViewScoped . Sie können sogar benutzerdefinierte Bereiche definieren.

Siehe auch:

BalusC 08.07.2010, 12:45
quelle
4

Ich glaube nicht, dass der Ansichtsbereich hier funktioniert. Die Frage bezieht sich speziell auf ein Multi-Browser-Tab-Szenario und mein Verständnis mit View Scope ist, dass es immer noch einen separaten Status pro Ansicht (nicht pro Tab) gibt. Mit anderen Worten, wenn Sie die gleiche Seite in mehreren Browser-Tabs geöffnet haben, besteht die Gefahr, dass Sie den Status teilen.

Dies wird hier erwähnt: Ссылка

Es scheint, als gäbe es nur zwei Lösungen für dieses Problem: 1. CDI / Seam Conversation Scope (oder etwas ähnliches, wo eine zusätzliche ID zu Anfragen hinzugefügt wird) oder 2. Bleiben Sie einfach bei der Anforderung einer Scope / statuslosen App.

    
Ryan 15.08.2011 20:14
quelle
3

MyFaces-Orchester hat eine Möglichkeit, mit mehreren Tabs / Fenstern umzugehen (mit dem Parameter conversationContext get) .

    
Bozho 08.07.2010 10:57
quelle
3

Verwenden Sie Seam mit dem gewünschten JSF-Framework.

Der Konversation Kontext ist perfekt für die Verwendung verschiedener Registerkarte. Starten Sie einfach eine neue Unterhaltung auf jeder Registerkarte. :)

Sehen Sie sich die Buchungsdemo

an     
Luca Molteni 08.07.2010 12:12
quelle

Tags und Links