IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

non mise a jour des données de mon formulaire


Sujet :

JSF Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut non mise a jour des données de mon formulaire
    Bonjour,

    voilà j'ai un formulaire contenant un input et un selectOneMenu avec un bouton valider.

    Voici mon problème: au départ l'affichage de page est correct. Dans les champs il y a bien les valeurs par defaut. Si je modifie mon input et mon selectOneMenu lorsque j'apuuie sur le bouton valider, ma fonction s'exécute mais avec les valeurs par défaut et non les nouvelles.

    voici mon code jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <h:form id="formUpdateContract">
                            <div class="formCadre">
                                <h:messages layout="table" styleClass="errorMsg"/>
                                <h:panelGrid columns="2">
                                    <h:panelGroup>
                                        <h:outputText value="#{bundle.createContract_label}" styleClass="#{UpdateContract.isValidLabel ? '' : 'errorMsg'}"/>
                                        <font class="errorMsg">*</font>
                                    </h:panelGroup>
                                    <h:inputText maxlength="25" value="#{UpdateContract.label}"/>
     
                                    <h:outputText value="#{bundle.createContract_gateway}"/>
                                    <h:selectOneMenu value="#{UpdateContract.gatewaySelected}">
                                        <f:selectItems value="#{UpdateContract.gatewayOptions}"/>
                                    </h:selectOneMenu>
                                </h:panelGrid>
                                <span class="errorMsg">*&nbsp;${bundle.legend_required}</span>
                 </div>
                 <h:commandButton type="submit" action="#{UpdateContract.submitUpdateContractAction}" id="submitUpdateContract" 
                                                 immediate="true" value="#{bundle.submit}" styleClass="default_button"/>
        </h:form>
    voici mon code java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    public class UpdateContract {
        private String label;
        private Long gatewaySelected;
        private List<SelectItem> gatewayOptions = new ArrayList<SelectItem>();
     
    public UpdateContract() throws NamingException {
            manager = EJBUtils.getEJB(BankingContractManagerRemote.class);
            gatewayManager = EJBUtils.getEJB(GatewayManagerRemote.class);
     
            loadGatewayOptions();
            final BankingContract contract = manager.find(getSessionBean().getContractId());
            label = contract.getLabel();
            applicationRegistry = contract.getBankingApplication().getName();
            if (null != contract.getBridge()) {
                gatewaySelected = contract.getBridge().getId();
            } else {
                gatewaySelected = -1L;
            }
        }
     
    private void loadGatewayOptions() {
            this.gatewayOptions.clear();
     
            gatewayOptions.add(new SelectItem(-1L, ""));
            final List<Bridge> gateways = gatewayManager.getAll();
            for (Bridge gateway : gateways) {
                this.gatewayOptions.add(new SelectItem(gateway.getId(), gateway.getName()));
            }
        }
    }
     
    public String submitUpdateContractAction() throws AdministrationException, NamingException {
            BankingContract contract = manager.find(getSessionBean().getContractId());
     
            System.out.println("Gateway selected: " + gatewaySelected);
            if ((null != gatewaySelected) && (gatewaySelected != -1L)) {
                final Bridge gateway = gatewayManager.find(Long.valueOf(gatewaySelected));
                contract.setBridge(gateway);
            }
            contract.setLabel(label);
            contract = manager.update(contract);
            DeleteContract.cleanSession(getSessionBean());
            return "submitUpdateContract";
        }
     
    public String getLabel() {
            return label;
        }
     
        public void setLabel(final String label) {
            this.label = label;
        }
     
        public Long getGatewaySelected() {
            return gatewaySelected;
        }
     
        public void setGatewaySelected(final Long gatewaySelected) {
            this.gatewaySelected = gatewaySelected;
        }
     
        public List<SelectItem> getGatewayOptions() {
            return gatewayOptions;
        }
     
        public void setGatewayOptions(final List<SelectItem> gatewayOptions) {
            this.gatewayOptions = gatewayOptions;
        }

    J'ai mis des system.out.println() dans les setters pour voir s'ils etaient appelés mais je n'ai rien qui s'affiche à part la ligne "Gateway selected: -1" qui vient de ma fonction submit.
    Je n'arrive pas à voir pourquoi mes valeurs ne sont pas mise à jour

    Merci de votre aide.

  2. #2
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Points : 332
    Points
    332
    Par défaut
    enleve immediate="true"

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut
    Effectivement ca amrche mieux sans. j'était tellement fixée sur mon input et mon selectOneMenu que j'ai pas regardé le bouton ....

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mise a jour des données d'un formulaire
    Par imeys dans le forum IHM
    Réponses: 3
    Dernier message: 28/08/2007, 22h57
  2. mise a jour des donnèe entre DataGridView et MySQL
    Par TheBlackReverand dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/06/2007, 20h47
  3. Faciliter la mise à jour des données sur mon site
    Par Pau dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 23/01/2007, 09h47
  4. Mise a jour des données sans se deconnecter
    Par djedie dans le forum Requêtes
    Réponses: 1
    Dernier message: 16/10/2006, 12h57
  5. mise a jours des données sous access
    Par puyopuyo dans le forum ASP
    Réponses: 4
    Dernier message: 25/05/2004, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo