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 :

html:image et passage des données [FAQ]


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Par défaut html:image et passage des données
    Bonjour,
    j'ai le souci suivant:
    je veux bien associer le click sur une image à l'initialisation d'une propriété d'un bean comme suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:image src="images3/bt_valider_off.gif" property="preXmlExtractionForm.action" value="Valider"></html:image>
    et le deuxième cas est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:submit property="action" value="Valider" styleClass="button"></html:submit>
    dans la classe action, j'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    String action = preXmlExtractionForm.getAction();
    			if ("Valider".equals(action)) {
    				//a ce niveau l'objet a extraire doit etre stockée en session
    				//et après c OK !!
    				//////Retester ça////////////
    				PreXMLExtractionForm extractedObject =(PreXMLExtractionForm)session.getAttribute("dataToBeExtracted");
    				JDOMXmlExtraction.testFunction(extractedObject);
    				//return mapping.findForward("xmlExtraction");
    			}
    en gros avec le cas d'utilisation de html:image, la propriété action n'a pas été initialisée et du coup ya pas exécution du code à l'intérieur du IF, mais avec le html:submit ça marche nickel,
    je vois pas la solution , sachent que je dois utiliser une image et non un simple bouton?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    958
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 958
    Par défaut
    L'attribut property d'une balise html:image est utilisé pour récupérer la position de la souris au moment où le bouton a été cliqué, est-ce bien ce que vous souhaitez? Je vous conseillerai d'enlever cette valeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:image src="images3/bt_valider_off.gif" value="Valider"></html:image>

  3. #3
    Membre confirmé Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Par défaut valeur de la propriété du bean
    Merci,
    mais mon but est d'initialiser la propriété action de la forme, donc comment le préciser avec html:image ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut
    si j ai bien compris tu veux intialiser action de ton From apres un clik sur l image

    tu peut utiliser une fonction ajax donc qui va executer une action struts et initialisera ta variable

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    958
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 958
    Par défaut
    Je ne pense pas que ce soit possible avec html:image, bien que je doive avouer ne pas en être certain.

    L'utilisation d'Ajax est peut-être un peu excessive. J'utiliserai plutôt le Javascript. Créez un champ caché lié à votre propriété, puis créez une fonction lancée sur l'événement onClick de votre image pour y affecter une valeur.

    Une remarque tout de même : dans une requête HTTP, le fait d'avoir cliqué sur un bouton de validation est indiqué par l'existence d'un paramètre dont le nom est la valeur (value) du bouton. Vous pouvez donc aussi rechercher la présence d'un paramètre appelé Valider. (Encore une fois, je n'en suis pas certain.)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut
    avec javascript fatenatwork ne peut executer des traittements server side dont il a besoin pour initialiser sa variable action

  7. #7
    Membre confirmé Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Par défaut struts et taglibs
    merci pour vos réponses, je vais essayer les differentes solutions demain car là jai du boulot qui arrive à limproviste!
    sinon:
    l'idée est la suivante, comme les taglibs struts permettent dinitialiser des propriéts avec le click sur le bouton, par analogie, il doit en exister le meme truc avec les images, jai essayé avant d'utiliser <html:link> et <html:img> mais ça passe pas vraiment, car les deux ensemble comme suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:link action="">
    <html:img src=""></html:img>
    </html:link>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:link page="">
    <html:img src=""></html:img>
    </html:link>
    permettent dassocier des liens (action ou page) pas plus

  8. #8
    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
    En fait, lorsque tu utilises le tag html:image comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:image src="images/tonImage.gif" property="imageButton"/>
    La propriété que j'ai appelé imageButton doit être définie dans l'ActionForm avec pour type ImageButtonBean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ImageButtonBean imageButton = new ImageButtonBean() ;
    Ensuite, pour savoir si on a cliqué sur l'image, il suffit de faire appel à la méthode isSelected() de ImageButtonBean.
    Si on a cliqué sur l'image, elle renverra true, sinon, elle renverra false.

    Dans l'Action, il faut donc coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ImageButtonBean imageButton = nomDuFormBean.getImageButton() ;
    // Cas où clic sur image
    if ( imageButton.isSelected() ) 
    {...}

  9. #9
    Membre confirmé Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Par défaut je vais essayer!!!
    Merci ça l'air intéressant,
    je vais lessayer

  10. #10
    Membre confirmé Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Par défaut Exception "javax.servlet.ServletException: BeanUtils.populate"
    jai lexception suivante:
    javax.servlet.ServletException: BeanUtils.populate

    dans mon code j'ai ajouté comme tas dit:
    dans la classe Forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    /*bottom selected*/
    	private String action;
    	private ImageButtonBean boutonValider;
    	private ImageButtonBean boutonCommander;
    dans la classe Action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /////controle selon les deux boutons		
    			ImageButtonBean boutonCommander =preXmlExtractionForm.getBoutonCommander();
    			if (boutonCommander.isSelected())
    			return mapping.findForward("familyOffers");
     
    			ImageButtonBean boutonValider =preXmlExtractionForm.getBoutonValider();
    			if (boutonValider.isSelected())
    				return mapping.findForward("success");
    et dans mes pages jsp::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <html:image src="images3/bt_valider_off.gif" property="boutonValider"></html:image>
    	<html:image src="images3/bt_valider_off.gif" property="boutonCommander"></html:image>
    mais jai tjrs l'exception meme en ayant changé avec deux images différents (si jamais c ça )
    je vois pas koi faire

  11. #11
    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
    Dans l'ActionForm, il faut initialiser les propriétés de type ImageButtonBean comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	private ImageButtonBean boutonValider = new ImageButtonBean() ;
    	private ImageButtonBean boutonCommander = new ImageButtonBean() ;

  12. #12
    Membre confirmé Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Par défaut ouiii ça marcheeee


    ouiii ça marche, non seulement ça marche mais ça ma aussi inspiré la solutions d'un autre problème,
    car jai des propréiéts de la classe Forme qui sont des objets de mon modèle,
    je les instancie nul part, ce qui fait que jarrive pas a les modifier dans la page jsp.
    Merciiiiiiiiiiiiiii

  13. #13
    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
    De rien.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/12/2009, 15h40
  2. Le Enable à false -> passage des données en POST?
    Par _Ulysse_ dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 18/05/2009, 17h10
  3. Passage des données data/nomClass.res vers fichiers SQL
    Par gabs77 dans le forum W4 Express
    Réponses: 7
    Dernier message: 15/07/2008, 11h32
  4. [HTML] empêcher la liste des données déjà rentrées sous un input text
    Par mdr_cedrick dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/03/2008, 13h37
  5. le passage des données entre les onglets
    Par jack_1981 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/05/2007, 01h12

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