Domanda

Ho 2 link in una pagina web, link di una pinta di appserver /? Dept = 1, collegamento due è appserver /? Dept = 2. Poi ho una fase ascoltatore JSF, lì dentro, posso ottenere il fagiolo di back-end e set dip1 o dip2 come parametro di fagioli, al fine di rendere diversi contenuti reparto. Se l'utente avvia 2 finestre da pagina web di cui sopra, il contenuto della finestra dip1 possono andare a finestra dip2. Tutto incasinato. (Nota, se si avvia il browser dal desk top scorciatoia, digitare i link di cui sopra, non è un problema, dal momento che verrà creato 2 sessione, 2 istanze diverse di fagioli back-end con imballaggio).

Il motivo principale è di fagioli negozio di nuovo JSF nella sessione, quindi 2 finestre che dalla stessa finestra padre condividevano lo stesso ID di sessione (cookie), poi utilizzato lo stesso back-end istanza di classe bean. Al tempo di rendering risultato, il risultato può andare a una delle finestre.

Come posso evitare questa finestra croce situazione contenuti? Questo sembra un problema fondamentale web app che dovrebbe essere risolvere molto tempo fa. Oppure potrei fare le cose davvero sbagliato.

I provato conversione cucitura, nessun aiuto, JSF2.0 ha vista oscilloscopio, CDO. la dose può aiutare? Non possiamo passare a JSF2.0 ancora a causa di vari motivi. Sto usando java6, Tomcat6.20, ICEfaces. Ogni aiuto è appropriato.

È stato utile?

Soluzione

In JSF 1.x, la cosa migliore è di Tomahawk < a href = "http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_saveState.html" rel = "nofollow"> <t:saveState> . Basta metterlo nella pagina in cui la richiesta specificata ambito fagiolo è da conservare nella successiva richiesta che viene sparato dalla stessa pagina, a prescindere dalla scheda del browser / finestra.

<t:saveState value="#{bean}" />

Si comporta come la portata vista JSF 2.0.

Altri suggerimenti

il problema può essere facilmente risolto utilizzando le conversazioni di cucitura, si può guardare agli esempi arriva con il pacchetto cucitura. è necessario modificare l'ambito backing bean di conversazione da parametri della sessione e la pagina utilizzo. cucitura anche nel libro azione spiega questo caso d'uso con una bella e brevi esempi molto.

Date un'occhiata al MyFaces Orchestra .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top