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 2 Java Discussion :

Recharger contenu d'une drop down list (select) avec un onChange


Sujet :

Struts 2 Java

  1. #1
    Membre confirmé Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Points : 491
    Points
    491
    Par défaut Recharger contenu d'une drop down list (select) avec un onChange
    Bonjour à tous,

    Cas classique, j'ai deux listes déroulantes dans une page jsp. J'ai déjà cherché et trouvé comment faire dépendre la deuxième par rapport à la valeur sélectionnée dans la première :

    Un script javascript qui est détecté sur le onChange de la première liste.

    Là où je bloque c'est pour récupérer les valeurs à mettre dans la deuxième liste. En dur avec js ça aurait été simple, mais je souhaite passer par la classe action pour aller dans ma couche service.

    Pour les deux listes, dans ma classe action j'ai une collection contenant les valeurs. La première collection est initialisée grâce à une méthode prepare() qui appel la couche service. Pour la deuxième, j'ai une méthode semblable à la première que je souhaite appeler via mon script javascript, elle met à jour ma deuxième collection.

    j'ai trouvé quelques exemples mais ils ne fonctionnent pas comme ça, le formulaire est validé en utilisant la classe action, il n'y a pas d'appel à une méthode de cette classe, d'ailleurs je ne trouve pas d'exemple montrant un appel direct à une méthode.

    Serait-ce ça la logique : dans le onChange, soumettre le formulaire afin de prendre en compte la valeur de la première liste pour générer la deuxième et recharger toute la page ?

    Merci d'avance pour tout renseignement,

  2. #2
    Membre confirmé Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Points : 491
    Points
    491
    Par défaut
    Bonjour à tous,

    J'ai tâtonné un moment mais j'y suis arrivé.

    Si jamais d'autres se posent la question voici la solution :

    - dans la page .jsp, utiliser la propriété onload de la première liste pour exécuter une function javascript pointant l'action à viser puis validant le formulaire
    - dans struts.xml, créer l'action visée par le script javascript, celle ci récupère la valeur saisie et la transmet à la classe action et renvoie sur la page contenant les deux listes lors d'un "SUCCESS".
    - dans la classe action, créer une méthode visée par l'action dans struts.xml
    - dans cette méthode de la classe action, réaliser les traitements visant à mettre à jour la collection alimentant la deuxième liste, cette méthode retourne un SUCCESS en fin de traitement normal.

    Finalement, rien de compliqué, juste long à trouver comme enchainement quand on débute avec ce framework.

    Merci pour le coup de main

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

Discussions similaires

  1. Afficher un contenu en fonction d'une drop down liste
    Par darkcrift dans le forum ASP.NET MVC
    Réponses: 4
    Dernier message: 22/06/2011, 17h41
  2. Réponses: 1
    Dernier message: 22/05/2008, 14h51
  3. Supprimer des items dans une drop down liste
    Par msahmi dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/04/2008, 10h59
  4. Remplir une drop down list
    Par walido dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/03/2008, 09h56
  5. Récupérer la valeur d'une Drop Down List
    Par dahu17 dans le forum C#
    Réponses: 1
    Dernier message: 23/04/2007, 14h17

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