2010-09-03 25 views
0

Lors de l'exécution de ce formulaire, l'action n'est pas exécutée. Mais si je commente le code des comboboxes, l'action est exécutée sans problème. Donc, je suppose que mon flux web de printemps est ok.
Les combobox sont remplies avec les données correctes sans aucun problème, donc je suppose que le problème est dans le modèle jsf?Formulaire JSF n'exécutant pas d'action car les zones de liste déroulantes

code:

<%@ include file="/jsp/taglibs.jsp"%> 
<t:saveState value="#{traballadorManageBean.traballador.cargoTraballador.idCargoTraballador}"/> 
<t:saveState value="#{traballadorManageBean.traballador.tipoPerfil.idTipoPerfil}"/> 
<t:saveState value="#{traballadorManageBean.traballador.centro.idCentro}"/> 
<t:saveState value="#{traballadorManageBean.traballador.nome}"/> 
<t:saveState value="#{traballadorManageBean.traballador.apelido1}"/> 
<t:saveState value="#{traballadorManageBean.traballador.apelido2}"/> 
<t:saveState value="#{traballadorManageBean.traballador.usuario}"/> 
<t:saveState value="#{traballadorManageBean.traballador.contrasinal}"/> 
<t:saveState value="#{traballadorManageBean.traballador.email}"/> 

<t:messages/> 
<t:panelGrid id="insertarTraballador" width="100%"> 

    <f:verbatim> 
     <br /> 
    </f:verbatim> 
    <t:outputText value="#{msg.ins_traballador_datos}" styleClass="bigTitle"/> 
    <t:panelGrid id="datosTraballador" align="right" width="100%" 
     styleClass="tablaBorde" cellpadding="2" cellspacing="2" columns="4"> 

     <t:panelGroup> 
      <t:outputText value="#{msg.ins_traballador_cargo_traballador}" /> 
     </t:panelGroup> 
     <t:panelGroup> 
      <t:selectOneMenu id="comboCargosTraballador" 
       value="#{traballadorManageBean.traballador.cargoTraballador.idCargoTraballador}" tabindex="1"> 
       <f:selectItem itemLabel="--------------------------------" itemValue="-1" /> 
       <f:selectItems value="#{traballadorManageBean.listaCargosTraballador}" />  
      </t:selectOneMenu> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="*" styleClass="campoObligatorio" />   
      <t:outputText value="#{msg.ins_traballador_tipo_perfil}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:selectOneMenu id="comboTiposPerfil" 
       value="#{traballadorManageBean.traballador.tipoPerfil.idTipoPerfil}" tabindex="2"> 
       <f:selectItem itemLabel="--------------------------------" itemValue="-1" /> 
       <f:selectItems value="#{traballadorManageBean.listaTiposPerfil}" />   
      </t:selectOneMenu> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="*" styleClass="campoObligatorio" />   
      <t:outputText value="#{msg.ins_traballador_centro_traballo}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:selectOneMenu id="comboCentroReceptor" 
       value="#{traballadorManageBean.traballador.centro.idCentro}" tabindex="3"> 
       <f:selectItem itemLabel="--------------------------------" itemValue="-1" /> 
       <f:selectItems value="#{traballadorManageBean.listaCentros}" />    
      </t:selectOneMenu> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="*" styleClass="campoObligatorio" />  
      <t:outputText value="#{msg.ins_traballador_usuario}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:inputText id="txtUsuario" tabindex="4" value="#{traballadorManageBean.traballador.usuario}" size="30" /> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="*" styleClass="campoObligatorio" />  
      <t:outputText value="#{msg.ins_traballador_contrasinal}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:inputText id="txtContrasinal" tabindex="5" value="#{traballadorManageBean.traballador.contrasinal}" size="30" /> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="#{msg.ins_traballador_email}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:inputText id="txtEmail" tabindex="6" value="#{traballadorManageBean.traballador.email}" size="60" /> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="*" styleClass="campoObligatorio" />   
      <t:outputText value="#{msg.ins_traballador_nome}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:inputText id="txtNome" tabindex="7" value="#{traballadorManageBean.traballador.nome}" size="40" /> 
     </t:panelGroup> 

     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup>  
     <t:panelGroup> 
      <f:verbatim><br/></f:verbatim> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="*" styleClass="campoObligatorio" />   
      <t:outputText value="#{msg.ins_traballador_apelido1}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:inputText id="txtApelido1" tabindex="8" value="#{traballadorManageBean.traballador.apelido1}" size="40" /> 
     </t:panelGroup> 

     <t:panelGroup> 
      <t:outputText value="#{msg.ins_traballador_apelido2}" /> 
     </t:panelGroup>  
     <t:panelGroup> 
      <t:inputText id="txtApelido2" tabindex="9" value="#{traballadorManageBean.traballador.apelido2}" size="40" /> 
     </t:panelGroup> 
    </t:panelGrid> 


    <t:panelGrid id="botonera" align="center" > 
     <t:commandButton id="botonGuardar" tabindex="1000" 
      styleClass="button" 
      type="submit" 
      value="#{msg.ins_traballador_boton_crear}" 
      action="insertar"></t:commandButton> 
    </t:panelGrid>  
</t:panelGrid> 

Répondre

1

Ajouter <h:messages/> à la page pour être averti des erreurs de validation/de conversion. Big chance que vous voyez "Erreur de validation: valeur non valide" là. Si c'est effectivement le cas, vous devez réécrire le code du bean backing pour que le getter de tous les tags <f:selectItems> renvoie exactement la même liste lors de la demande de soumission du formulaire que lors de la demande initiale d'affichage du formulaire.

+0

Où puis-je vérifier ces notifications? Sont-ils imprimés dans mon fichier journal ou dans mon navigateur? – Dez

+1

Dans la page, là où vous avez ajouté ''. Je ne fais pas MyFaces, mais dans Mojarra tout message de validation/conversion "manqué" (ie quand vous n'avez pas de message "h: message" ou "h: messages" dans la page) est imprimé dans le journal du serveur bien. – BalusC

+0

Définissez dans le fichier jsp et vous n'avez pas reçu de notification. Ni dans le fichier journal. – Dez

0

Résolu. C'était un problème JSF, parce que les combos n'obtenaient pas le bon type de données, peuplé par le bean backing. Et je ne pouvais rien obtenir parce que, dans notre «framework», nous avions cette fonction surchargée pour afficher des messages personnalisés. BalusC vous aviez raison dans les points. Merci

+1

De rien. Frappez l'équipe du cadre avec une grosse truite et n'oubliez pas de marquer la réponse acceptée. – BalusC