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

Struts 1 Java Discussion :

Initialisation d'un formulaire


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut Initialisation d'un formulaire
    Bonjour,

    Je souhaiterais avoir vos avis éclairés sur l'initialisation des formulaires.
    En effet, je présente à l'usager un tableau (displaytag) avec un lien permettant de modifier l'un des objets du tableau.
    A travers ce lien, je passe l'id de l'objet en paramètre.

    Sur mon formulaire, je peux alors faire du traitement pour récupérer l'objet :

    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
     
    <%
    		Utilisateur utilisateur = new Utilisateur();
    		if(null != request.getParameter("idUtilisateur") &&
    				!request.getParameter("idUtilisateur").isEmpty()) {
    			int idUtilisateur = Integer.valueOf(request.getParameter("idUtilisateur")).intValue();
    			utilisateur = UtilisateurManager.getInstance().getUtilisateur(idUtilisateur);
    		}
    	%>
     
    	<layout:form action="/validerUtilisateur" styleClass="formuser" focus="identifiant">
    		<layout:text bundle="messages" key="identifiant" property="identifiant" size="32" maxlength="32" isRequired="true" value="<%=utilisateur.getLogin()%>"/>
    		<layout:text bundle="messages" key="nom" property="nom" size="32" maxlength="32" isRequired="true" value="<%=utilisateur.getNom()%>"/>
    		<layout:text bundle="messages" key="prenom" property="prenom" size="32" maxlength="32" isRequired="true" value="<%=utilisateur.getPrenom()%>"/>
    		<layout:text bundle="messages" key="password" property="password" size="32" maxlength="32" isRequired="true" value="<%=utilisateur.getPwd()%>"/>
     
    		<layout:column>
    			<layout:radio bundle="messages" key="lecture" property="accesModification"/>
    			<layout:radio bundle="messages" key="modification" property="accesModification"/>
    		</layout:column>
     
    		<layout:column>
    			<h4 align="left"><u>Droits :</u></h4>
    			<layout:checkbox bundle="messages" key="stats" property="accesStats"/>
    			<layout:checkbox bundle="messages" key="utilisateur" property="adminUtilisateur"/>
    			<layout:checkbox bundle="messages" key="parametres" property="adminParametres"/>
    			<layout:checkbox bundle="messages" key="export" property="accesExport"/>
    		</layout:column>
    		<layout:row >
    			<layout:submit styleClass="formuser">
    				<layout:message bundle="messages" key="abandon"/>
    			</layout:submit>
    			<layout:submit styleClass="formuser" reqCode="ajouterUtilisateur">
    				<layout:message bundle="messages" key="valider"/>
    			</layout:submit>
    		</layout:row>
     
    	</layout:form>

    1) Tout d'abord est ce une bonne solution ? Ou alors y'a t il de meilleurs solutions ?
    2) Ensuite, comment initialiser les radio button et checkbox ? (accesModification, accesStats, adminUtilisateur, adminParametres et accesExport sont des boolean dans mon bean)


    Merci d'avance pour vos réponses,

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tout d'abord, ce n'est pas DisplayTag que tu utilises mais Struts-Layout.

    Sinon, le traitement de récupération du paramètre id et d'initialisation du formulaire doit plutôt se faire dans une Action qui s'exécute avant l'affichage du formulaire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut
    oui sur cette jsp j'utilise struts layout
    mais l'appel à cette jsp se fait via un lien affiché dans un displaytag et personnalisation du decorator

    je suis débutant (en struts et plus généralement appli client serveur) donc désolé si je ne me suis pas bien fait comprendre

    la solution la plus appropriée serait donc de modifier le form dans l'action avant la redirection ?

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    C'est surprenant de combiner l'utilisation de DisplayTag et Struts-Layout mais bon, pourquoi pas.

    L'idéal serait que, lors du clic sur le lien dans le tableau, tu exécutes une Action Struts et que tu initialises les propriétés du formulaire dans cette Action.

    Il faudrait donc définir une nouvelle Action liée au formulaire dans le struts-config.xml par exemple comme ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <action path="/initUtilisateur" type="tonpackage.InitUtilisateurAction" name="nomDuFormBean" validate="false">
        <forward name="success" path="/utilisateur.jsp"/>
    </action>
    et dans l'Action, tu récupères l'id et tu initialises les propriétés du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Utilisateur utilisateur = new Utilisateur();
    if(null != request.getParameter("idUtilisateur") &&
    		!request.getParameter("idUtilisateur").isEmpty()) {
    	int idUtilisateur = Integer.valueOf(request.getParameter("idUtilisateur")).intValue();
    	utilisateur = UtilisateurManager.getInstance().getUtilisateur(idUtilisateur);
    }
     
    TonActionForm tonActionForm=(TonActionForm) form ;
    tonActionForm.setIdentifiant(utilisateur.getLogin()) ;
    tonActionForm.setNom(utilisateur.getNom()) ;
    tonActionForm.setPrenom(utilisateur.getPrenom()) ;
    tonActionForm.setPassword(utilisateur.getPwd()) ;
     
    mapping.findForward("success") ;
    et si tu veux qu'un bouton radio ou que certaines checkbox soit pré-cochées, il suffit d'initialiser à true la propriété du formulaire correspondante de la même manière que pour les propriétés identifiant, nom, ...

    Il faut penser ensuite à enlever les attributs value dans les tags layout:text.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut
    merci je vais tester cela ce soir car là je suis dans d'autres modifs qui ne me permettent pas de le faire
    j'utilise les deux car j'ai découvert struts-layout après avoir commencé à utiliser displaytag et surtout j'ai trouvé displaytag très simple à utiliser. Par manque de temps je n'ai pas repris mes tableaux avec struts layout et comme c'est "compatible", on verra plus tard.

    Je te tiens au courant de mes avancés de ce soir, merci encore de tes réponses claires et précises.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut
    je me pose une autre question du coup, car avant j'avais un décorateur qui me retournait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public String getIdentifiantData() {
    		UtilisateurData userData= (UtilisateurData) getCurrentRowObject();
    		int idUtilisateur = userData.getIdUtilisateurData();
    		String identifiant = userData.getIdentifiantData();
            return "<a href=\"utilisateur.jsp?idUtilisateur="+idUtilisateur+"\">"+identifiant+"</a>";
    	}
    Comment puis je appeler l'action d'initialisation à partir d'un href ? Ou alors dois je passer par un <html:link> (enfin si cela peut s'insérer dans un tableau displaytag) ?

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

Discussions similaires

  1. [XL-2003] Initialisation d'un formulaire avec une boucle FOR
    Par apnw7931 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/03/2011, 15h14
  2. Initialisation d'un formulaire
    Par georgesasc dans le forum IHM
    Réponses: 2
    Dernier message: 05/07/2010, 14h29
  3. [ZF 1.10] Initialiser Valeur Champ Formulaire
    Par Flamenco dans le forum Zend_Form
    Réponses: 8
    Dernier message: 01/04/2010, 11h36
  4. Méthode d'Initialisation d'un formulaire
    Par saziley dans le forum Struts 2
    Réponses: 2
    Dernier message: 30/03/2009, 17h48
  5. Initialisation variable dans formulaire
    Par yagrasdemonde dans le forum Langage
    Réponses: 4
    Dernier message: 05/12/2008, 20h41

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