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 :

[ STRUTS ] <html:select onchange=...>


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 48
    Par défaut [ STRUTS ] <html:select onchange=...>
    Bonjour à tous,

    J'utilise Struts dans mon projet. Dans plusieur page jsp j'ai une liste d'éléments de type <html:select> et j'aimerais, lors de l'évenement onchage, appeler une méthode précise de mon Action qui rechargera cette page avec un contenu modifié.

    J'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    <html:select property="uniteSelectionnee" value="${gererUnites_uniteSelectionnee}"onchange="com.plansactions.struts.action.GererUnites.selectionChanged()">
    
    Mais apparement l'évenement "onchange" ne provoque aucun appel du coté serveur mais est seulement actif du cote client. Est-ce exacte?
    Si oui comment puis-je faire pour appeler une méthode coté serveur?

    Pour info, l'action correspondante au formulaire est de paramètre "submit":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <action path="/gererUnites"
    parameter="submit"...>...</action>
    car j'ai plusieur <html:submit> faisant chacun un traitement différent (add, del,...)

    Je voulais éviter les scripts (dont je ne sais absolument rien) au sein des jsp mais si c'est la seule solution, ben je ferai avec...

    Je vous remercie d'avance.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    ton code a été censuré ..

    Je ne sais pas ce que tu mets dans le onchange, mais du javascript est du coté client, pour faire des appels au serveurs tu dois soit envoyer un form et recharger la page, soit utiliser AJAX...il y'a des librairies open source qui permettent de faire ce genre de choses..

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 48
    Par défaut
    Merci sniper37 je vais regarder à ça.

  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
    Pour info, tu peux très bien soumettre ton ActionForm via le onchange comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    <html:select property="uniteSelectionnee" onchange="document.forms['taForm'].submit();">
    
    Ainsi, la méthode setUniteSelectionnee sera appelée et l'Action GererUnites sera exécutée à chaque changement de sélection.
    A voir si ça répond à ton besoin.

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 48
    Par défaut
    Oui finalement c'est ce que j'ai fait.
    Mais j'ai du créer un second formulaire/Action ne contenant que le <html:select>, car comme je l'ai précisé dans mon premier post le formulaire de départ contient plusieurs <html:submit> chacun associé à une méthode de l'Action (add, del,...), cette dernière étend donc LookupDispatchAction.
    J'ignore s'il est possible, comme pour les <html:submit> de précisé la méthode associée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    <html:submit property="submit">
      <bean:message key="button.add"/>
    </html:submit>
    
    Merci quand même pour ta réponse! Je mettrai résolu quand j'aurai tester avec <bean:message>

  6. #6
    Membre averti
    Inscrit en
    Février 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 48
    Par défaut
    Après plusieurs essais ça ne fonctionne pas en utilisant <bean:message>, etc.
    A+

  7. #7
    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
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    <html:select property="uniteSelectionnee"
    onchange="document.forms['taForm'].action='gererUnites.do?
    submit=add';document.forms['taForm'].submit();">

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

Discussions similaires

  1. html select onchange
    Par khaoula_14_05 dans le forum Struts 1
    Réponses: 6
    Dernier message: 24/10/2008, 14h51
  2. probleme de html:select onchange
    Par solfegepro dans le forum Struts 1
    Réponses: 20
    Dernier message: 08/08/2007, 13h44
  3. [Struts] Struts et html:select
    Par cipotesi dans le forum Struts 1
    Réponses: 10
    Dernier message: 16/02/2006, 16h56
  4. [DEBUTANT][STRUTS] Initialiser html:select
    Par mlequim dans le forum Struts 1
    Réponses: 13
    Dernier message: 25/10/2005, 14h59

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