Question

Je suis débogage d'une application JSF étrangère. Le problème est, que je soumets une forme, mais les valeurs ne sont pas reportés.

Avec une phase d'écoute, je peux voir, que le cycle de vie ne fonctionne pas complètement à travers, pour ainsi dire la phase 2 -5 saute: Après la phase de vue restauration, la phase de réponse de rendu est appelée directement. Je manque les valeurs, appliquer la validation, les actions du modèle de mise à jour et ainsi de suite.

Alors, cela pourrait être un problème de la poule et de l'œuf: 1. Les phases responsables ne sont pas appelées, de sorte que la nouvelle entrée de formulaire ne peut pas être reporté. 2. Le système ne reconnaît aucune nouvelle entrée et donc rend directement après la restauration de la vue.

J'ai vérifié qu'il n'y a pas d'appel de responseComplete () oder renderResponse ().

Je suis bloqué en quelque sorte. Toute idée de valider l'une des deux hypothèses? Ou comment déboguer en général? Est-ce que quelqu'un a un problème similaire?


Mise à jour

Je soupçonne que JSF ne connaît pas les demande postback et poignées cela comme une vue initiale . Cela expliquerait que je passe seulement la phase 1 et 6.

Comment puis-je vérifier, si JSF reconnaît comme non-visages demande ?
Comment puis-je vérifier s'il y a le lieu ArbreID dans la facesContext actuelle.

Était-ce utile?

La solution 2

trouvé la solution! Je suis désolé mais il était très spécifique à l'application, je suppose: La coutume StateManager pour JSF n'a pas été utilisable avec JSF 1.2. Cela a provoqué cette erreur étrange. Vous avez le StateManager fixe et tout a bien fonctionné. C'est amer et a coûté beaucoup de temps: - (

Merci pour votre aide quand même: -)

Autres conseils

Je cite une réponse que j'ai posté avant :

  

Chaque fois qu'un composant UICommand   ne parvient pas à appeler l'action associée,   vérifiez les points suivants:

     
      
  1. composants UICommand doivent être placés à l'intérieur d'un composant UIForm   (Par exemple h:form).
  2.   
  3. Vous ne pouvez pas imbriquer plusieurs composants UIForm dans l'autre   (Attention avec inclure des fichiers!).
  4.   
  5. Pas d'erreur de validation / conversion aurait dû être produite (utilisation   h:messages pour obtenir tous).
  6.   
  7. Si les composants de UICommand sont placés à l'intérieur d'un composant UIData,   veiller à ce que la même   DataModel (l'objet derrière le   l'attribut UIData de value) est   conservés.
  8.   
  9. Les attributs de rendered et disabled du composant et tous   les composants parents ne devraient pas   évaluer à false lors appliquer   demande phase de valeurs.
  10.   
  11. Assurez-vous qu'aucun PhaseListener ou tout EventListener dans la   la chaîne demande-réponse a changé la   JSF cycle de vie pour sauter le Invoke   phase d'action.
  12.   
  13. Assurez-vous qu'aucun Filter ou Servlet dans la même requête-réponse   la chaîne a bloqué la demande fo la   FacesServlet en quelque sorte.
  14.   

Comme dans votre cas particulier, les phases 2-5 sont été ignorées et que vous êtes certain (?) Qui est FacesContext#renderResponse() pas été appelée, les causes 3, 6 et 7 peut être rayé de la liste. Les causes 4 et 5 peut probablement être égratigné aussi, selon la manière dont vous débogués les phases de JSF. Enquêter sur les autres causes. Mes cents sur la cause 2. Vérifiez si vous ne voyez pas <form><form></form></form> dans la source HTML généré et backtrack ce dans la source JSF.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top