Domanda

Sono il debug di un'applicazione JSF straniera. Il problema è, che invio un modulo, ma i valori non sono riportati.

Con una fase ascoltatore posso vedere, che il ciclo di vita non viene eseguito completamente attraverso, per così dire salta fase 2 -5: Dopo la fase di visualizzazione di ripristino, la fase di render response viene chiamato direttamente. Mi mancano i valori, la convalida, le azioni si applicano modello di aggiornamento e così via.

Quindi, questo potrebbe essere un problema di pollo e uova: 1. Le fasi responsabili non sono chiamati, in modo che il nuovo input modulo non può essere riportato. 2. Il sistema non riconosce nessun nuovo input e quindi direttamente dopo il ripristino rende la vista.

ho controllato che non v'è alcuna chiamata di responseComplete () oder renderResponse ().

Sono bloccato in qualche modo. Qualche idea per convalidare una delle due ipotesi? O il modo di eseguire il debug che in generale? Forse qualcuno ha un problema simile?


Aggiorna

Ho il sospetto, che JSF non è a conoscenza delle richiesta di postback e gestisce questo come un vista iniziale . Questo spiegherebbe, che mi passa solo la fase 1 e 6.

Come faccio a verificare, se JSF riconosce questo come un non-faces-request ?
Come posso controllare, se non v'è l'appropriata treeID nella facesContext corrente.

È stato utile?

Soluzione 2

Trovato la soluzione! Mi dispiace, ma era molto specifica applicazione immagino: L'usanza StateManager per JSF non era utilizzabile con JSF 1.2. Che ha causato questo strano errore. Ha ottenuto lo StateManager fisso e tutto ha funzionato bene. Questo è amaro e costano un sacco di tempo: - (

Grazie per il vostro aiuto in ogni caso: -)

Altri suggerimenti

sto citando da una risposta che ho postato prima :

  

Ogni volta che un componente UICommand   non riesce a richiamare l'azione associata,   verificare quanto segue:

     
      
  1. componenti UICommand devono essere posizionati all'interno di un componente UIForm   (Ad esempio h:form).
  2.   
  3. Non puoi nido più componenti UIForm a vicenda   (Attenzione con includere i file!).
  4.   
  5. avrebbe dovuto essere verificato Nessun errore di validazione / conversione (uso   h:messages per farli tutti).
  6.   
  7. Se i componenti UICommand sono collocati all'interno di una componente UIData,   assicurare che esattamente lo stesso   DataModel (l'oggetto dietro la   attributo UIData di value) è   conservato.
  8.   
  9. I rendered e disabled attributi del componente e tutti   i componenti principali non dovrebbero   valutare a false durante applicarsi   valori di richiesta di fase.
  10.   
  11. Assicurarsi che nessun PhaseListener o qualsiasi EventListener nel   catena richiesta-risposta ha cambiato   JSF ciclo di vita per saltare l'invoke   l'azione di fase.
  12.   
  13. Assicurarsi che nessun Filter o Servlet nella stessa richiesta-risposta   catena ha bloccato la richiesta fo la   FacesServlet in qualche modo.
  14.   

Dal momento che nel tuo caso particolare, le fasi 2-5 sono stato ignorato e che si è certi (?) Che FacesContext#renderResponse() non è stato chiamato, le cause 3, 6 e 7 possono essere graffiato dalla lista. Le cause 4 e 5 possono probabilmente essere anche graffiato, a seconda del modo in cui si debug le fasi JSF. Indagare le altre cause. I miei centesimi su causa 2. Controllare se non si vede <form><form></form></form> nel codice HTML generato e tornate in questa fonte JSF.

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