Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Denton
    Registrato dal
    Jul 2004
    Messaggi
    15

    JSF: Managed-Bean con scope di Reuqest

    Ciao a tutti,
    avrei bisogno del vostro aiuto per chiarirmi un dubbio.

    Per quello che ho capito, un managed bean con scope di request viene creato quando la pagina viene richeista dal browser e viene distrutto non appena la response è stata restituita.

    Per verificare ho fatto questa prova:

    - Ho una Pagina A, con un bottone "avanti" e un campo input text. Tramite una navigation rule al click sul bottone carico la pagina B.

    - Ho una Pagina B, con un bottone "indietro" e un campo output text. Tramite una navigation rule al click sul bottone torno alla pagina A.

    - Ho poi creato un Bean con scope di request con un attributo String. Questo attributo è bindato sia sulla Text in A che sulla Text in B.

    Quello che mi succede è questo:
    - Se scrivo un testo dentro la Text in Pagina A e clicco sul bottone, la text di B mi ripresenta lo stesso testo.
    - Se da B torno in A mi ritrovo il campo text valorizzato.

    Mi aspetterei che il Bean, in quanto di Request , venisse rigenerato tutte le volte, invece rimane in essere sempre la medesima istanza.

    Qualcuno potrebbe spiegarmi cosa c'è dietro a questo comportamento?

    Grazie in anticipo a tutti...
    Nel dubbio.... dai Gas!!!

  2. #2
    Ciao Denton,
    Prova a postare il codice del bean in modo da capire come lo hai creato, in quanto il comportamento che tu descrivi non è assolutamente corretto.

  3. #3
    Utente di HTML.it L'avatar di Denton
    Registrato dal
    Jul 2004
    Messaggi
    15
    Ciao,
    prima di tutto grazie dell'interesse.

    Stamattina ho visto la luce ed ho scoperto l'arcano mistero.

    In pratica questo comportamento anomalo è legato al fatto che sto usando ICEFaces... infatti ho trovato un paragrafo nella documentazione ICEFaces che dice:

    ICEFaces offers its own interpretation of the JSF request scope : the extended request scope. This request scope lasts longer than the original request scope: It will continue to live when you are using partialSubmit controls and it will continue to live when you are using non-redirect navigation rules. This means for example, that when you are navigating back and forth within two pages your beans won´t be recreated which then means that you can´t put code into the constructor of your beans because it will only be executed once.
    Di fatto lo scope request di ICEFaces rimane in vita fino a quando non si fa una redirect esplicita ad un'altra pagina. Quindi fintanto che ci si muove tra le viste tramite le navigation rule, i bean non vengono mai distrutti.

    Spero che questo topic possa essere di aiuto ad altri utenti.

    Ciao
    Nel dubbio.... dai Gas!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.