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 :

Formulaire JSF non mis à jour


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 210
    Par défaut Formulaire JSF non mis à jour
    Bonjour

    j'ai un petit soucis de mise a jour d'un bean entre deux pages jsf

    ma première page :

    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
     
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
     
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:ui="http://java.sun.com/jsf/facelets">
     
    <ui:composition template="layout_main.xhtml">
    	<ui:define name="contenu">
    		<body>
    			<h:dataTable id="bankList" value="#{toto.allBanks}"	var="bank" >
     
    				<f:facet name="header">
    						#{msg['page.banklist.table.title']}
    				</f:facet>
     
    				<h:column>
                                      	<h:commandLink value="#{msg['page.banklist.table.link.bank.edit']}"	action="#{toto.showBanksDetailPage(bank)}" />
     
    				</h:column>
     
    				<h:column>
    						<h:outputText value="#{msg['page.banklist.table.header.bank.id']}" />
     
    				</h:column>
     
    				<h:column headerText="#{msg['page.banklist.table.header.bank.name']}">
    						<h:outputText value="#{bank.name}" />
    				</h:column>
    			</h:dataTable>
    		</body>
    	</ui:define>
    </ui:composition>
     
    </html>


    Quand je clique sur le lien h:commandLink j'ai bien ma seconde page qui s'affiche :

    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
     
     
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:ui="http://java.sun.com/jsf/facelets">
     
    <ui:composition template="layout_main.xhtml">
    	<ui:define name="contenu">
     
     
    		<body>
    			<h:form>
     
    			  	<h:outputLabel for="title" value="Titles" />
                    <h:inputText id="title" value="#{toto.bank.name}" required="true" 
                        	requiredMessage="Bank name is required" validatorMessage="Max length is 10">
                            <f:validateLength maximum="10" />
                    </h:inputText>
     
    			</h:form>
    		</body>
    	</ui:define>
    </ui:composition>
     
    </html>

    Sauf que le champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:inputText id="title" value="#{toto.bank.name}" required="true" 
                        	requiredMessage="Bank name is required" validatorMessage="Max length is 10">
                            <f:validateLength maximum="10" />
                    </h:inputText>
    est vide

    Voici le bean Toto :

    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
     
     
     
    @Named
    @SessionScoped
    public class Toto implements Serializable {
     
    	private static final long serialVersionUID = 1118351396911753744L;
     
    	@EJB
    	BankService bankService = null;
     
    	private Bank bank;
     
    	public List<Bank> getAllBanks() {
    		return bankService.getAllBanks();
    	}
     
    	public String showBanksDetailPage(Bank bank) {
    		this.bank = bank;
    		return "adminBankDetails";
    	}
     
    	public BankService getBankService() {
    		return bankService;
    	}
     
    	public void setBankService(BankService bankService) {
    		this.bankService = bankService;
    	}
     
    	public Bank getBank() {
    		return this.bank;
    	}
     
    	public void setBank(Bank bank) {
    		this.bank = bank;
    	}
    }
    Comme les deux pages partagent le même formulaire (Toto) la seconde devrait voir la propriété Bank ?

    mais c'est vide, et je pige pas.

    merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2008
    Messages : 179
    Par défaut
    Bonjour,

    il ne te manquerait pas simplement un <form> dans ta première page? (à moins qu'il ne soit caché dans ta composition..?)

  3. #3
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    mets le formulaire dans le premier fichier <h:form>
    moi je ferai comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:commandLink value="#{msg['page.banklist.table.link.bank.edit']}"	action="#{toto.showBanksDetailPage}" >
    <f:setPropertyActionListener value="#{bank}" target="#{toto.bank}"/>  
                                </p:commandLink>
    et dans le controler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public String showBanksDetailPage() {
    		return "adminBankDetails";
    	}

Discussions similaires

  1. Graphique formulaire non mis à jour
    Par meud007 dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/06/2014, 17h17
  2. [DW CS3] Liens non mis à jour dans un modèle
    Par Aspic dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 18/07/2008, 06h52
  3. [TortoiseSVN] Statut fichier non mis à jour
    Par jeffvac dans le forum Subversion
    Réponses: 6
    Dernier message: 16/04/2008, 11h43
  4. [AJAX] Incompatibilité avec IE (données non mis à jour)
    Par WeDgEMasTeR dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/05/2007, 19h46
  5. parametre non mis à jour
    Par rherrad dans le forum Struts 1
    Réponses: 2
    Dernier message: 11/04/2007, 13h35

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