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

Servlets/JSP Java Discussion :

Probleme getParameter avec une comboBox(<option>)


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut Probleme getParameter avec une comboBox(<option>)
    Bonjour à tous.

    J'ai un petit probleme, en effet j'ai un fichier .jsp dans lequel j'ai une ComboBox que je met dans un formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <SELECT name="ListeCategorie">
    <OPTION value="film">film</OPTION>
    <OPTION value="musique">musique</OPTION>
    <OPTION value="histoire">histoire</OPTION>
    <OPTION value="meteo">meteo</OPTION>
    </SELECT>
    Ensuite lorsque je selectionne par exemple la categorie "film", je veux la recuperer dans une servlet (je ne veux recuperer que la l'option selectionnée dans la comboBox).

    J'ai fait dans un premier temps:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String nomCat = request.getParameter("ListeCategorie") ;
    System.out.println("nom de la categorie  : " + nomCat);
    Mais j'ai une valeur nulle.

    J'ai ensuite essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String[] nomCategorie = portletRequest.getParameterValues("ListeCategorie") ;
    for (int i = 0; i < nomCategorie.length; i++) {
    System.out.println("nom de la categorie avec values : " + nomCategorie[i]);
    							}
    Dans ce cas j'ai egalement une erreur, de plus je ne sais pas si cette seconde solution correspond avec ce que je veux car dans mon cas je veux recuperer dans la servlet seulement la valeur selectionnée.
    Si dans la jsp je selectionne la valeur film de ma comboBox alors je veux recuperer film dans ma servlet.

    Si quelqu'un peut m'aider ce serait tres sympa.

    Cordialement

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    fais voir le code complet de la jsp.

    Tu fais bien un submit ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Alors c'est bien cette solution qu'il te faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String nomCat = request.getParameter("ListeCategorie");
    System.out.println("nom de la categorie  : " + nomCat);
    Mais comme l'a demandé willoi, as-tu validé ton formulaire ?
    Auquel cas, il est normal que tu ne récupère pas ton paramètre

    De plus, es-tu dans la bonne méthode ? (doGet() en méthode GET ou doPost en méthode POST)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Bonsoir.

    Tout d'abord je tenais à vous remercier tous les deux pour m'avoir gentillement repondu.

    Oui je fais bien un submit
    Voici le code de mon fichier jsp

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
     
    <%@ page import="java.util.*" %>
    <%@ page import="com.Categorie"%>
    <%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
    <portlet:defineObjects />
     
    <div align="right"><img src="/resources/community/images/imageSite/logo.gif"/></div>
    <div align="left"><img src="/resources/community/images/imageSite/There.bmp"/></div>
     
    <% if (renderRequest.getAttribute("portlet.url") != null) { %>
    <% String urlPortlet = (String)renderRequest.getAttribute("portlet.url") ; %>
     
    <FORM ACTION="<%= urlPortlet %>" METHOD="POST" ENCTYPE="multipart/form-data">
    <% } %>
     
    <h1><center>Voici la page d'upload.</center></h1>
     
    <table align="center" width="60%" border="0" cellspacing="0"
    	cellpadding="5">
     
    	<tr>
    		<td>Choisir un fichier.</td>
    	</tr>
     
    	<tr>
    		<td><INPUT type="file" name="content"></td>
    	</tr>
     
    	<tr>
    		<td>Choisir la categorie.</td>
    	</tr>
     
    	<tr>
    		<td>     
    		<!-- Permet de recuperer la liste de categorie afin de la recuperer
         		 dans la Combobox -->
     
         	<SELECT name="ListeCategorie">
     
    		<% if (renderRequest.getAttribute("liste.categorie") != null) {
                            List list = (List)request.getAttribute("liste.categorie");%>
     
    		<!-- Permet de parcourir la liste est d'y recuperer les noms de categorie -->
    		<% Iterator it = list.iterator();
                            while (it.hasNext()) {        
                            Categorie categorie = (Categorie) it.next(); 
                            String nomCategorie = categorie.getNom() ; %>
     
      			<OPTION value="<%= nomCategorie %>"><%= nomCategorie %></OPTION>
      			<% } %>
    		<% } %>
     
    		</SELECT>
     
    		</td>
    	</tr>
     
    	<tr>
    		<td><INPUT type="submit" name="enter" value="Upload File"></td>
    	</tr>
     
    	</form>
     
    </table>
    Dans mon cas je fais une comboBox dynamique qui va chercher une liste stockée en base et ensuite l'affiche.

    Je travail avec des portlets et le framework exoPlatform.

    Au niveau de l'url pour le formulaire celui ci pointe bien vers la portlet desirée.

    Au niveau du fonctionnement la portlet fonctionne à peu pres comme la servlet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String nomCat = portletRequest.getParameter("ListeCategorie") ;
    Dans mon cas le submit marche bien car j'upload un fichier dans ce fichier jsp et j'arrive bien a recuperer le nom du fichier uploadé.

    Donc voila si vous avez une idée n'hesitez surtout pas, votre aide me sera tres precieuse.

    @+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Bonjour a tous.

    Je pense que le probleme vient du fait que je suis dans un formulaire de type ENCTYPE="multipart/form-data", je vais faire un tour du coté du site de jakarta dans le paktage FileUpload.

    Par contre si quelqu'un à une idée ou a été confronté à ce type de probleme, ce serait sympa qu'il me fasse signe.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Ma question est :

    est ce qu'il est possible de faire un request.getParameter() sur un <input type="text" name="nom"> se trouvant dans un formulaire de type ENCTYPE="multipart/form-data".

    Je suis aller voir dans l'API fileUpload :
    http://jakarta.apache.org/commons/fi...ocs/index.html

    J'arrive par exemple a recuperer le nom du fichier uploadé, sa taille.....
    mais je n'ai pas vraiment trouvé le moyen de faire un l'equivalent d'un getParameter sur un input type text dans un "multipart/form-data" (request.getParameter("nom") me retourne null).

    Merci d'avance.

  7. #7
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Je ne crois pas que ca vienne de la ;

    j'ai moi aussi dans mes applis des formulaires multipart et ca ne pose pase de problemes pour recuperer des valeurs des champs du formulaire.

    que donne ton code html une fois genere ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Tout d'abord je tenais a te remercier de m'avoir repondu willoi.

    Lorsque que mon code HTML est generé (appuie sue le bouton submit) il revient sur la meme page.

    Lorsque je teste avec un formulaire normal le getParameter marche tres bien, mais il suffit que je rajoute le ENCTYPE="multipart/form-data" dans mon formulaire et il me retourne null pour tous getParameter (input type text).

    Quand je met le code de l'upload dans ma portlet je recupere sans probleme le nom du fichier, ainsi que toutes ces caracteristiques.

    -Soit mon probleme vient du fait que je suis dans une portlet.
    -Soit il y a une facon particuliere de faire un getParameter sur un input text lorsque celui ci se trouve dans un formulaire encodé en
    ENCTYPE="multipart/form-data"

    Mais d'apres ce que tu me dis le probleme ne viendrait pas de la.

    Je vais tester ce meme traitement dans une servlet et je te tiendrais au courant du resultat.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Bonsoir.

    J'ai finalement pu trouver la solution a mon probleme.

    Je n'ai pas vraiment tester avec une servlet, mais dans ma portlet le probleme venait du fait que comme dans mon formulaire etait de type ENCTYPE="multipart/form-data" le request.getParameter("") me retournait nul, je me suis tournée vers la doc d'apache fileUpload. J'ai pu recuperer la valeur du <input type text> de mon formulaire à l'aide du code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(item.getFieldName().equals("testtoto")) {
       String testVal = item.getString() ;
       System.out.println("input dans item : " + testVal);
    }
    item etant une ArrayList.
    Donc voila merci a tout ceux qui m'ont aidé.

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

Discussions similaires

  1. [C# 2.0] Renvoyer un identifiant avec une ComboBox
    Par sqlnoob dans le forum Windows Forms
    Réponses: 11
    Dernier message: 09/10/2007, 20h36
  2. probleme avec une combobox
    Par juliusezar dans le forum C#
    Réponses: 8
    Dernier message: 03/08/2007, 15h47
  3. [VB.NET] probleme avec une combobox en ado.net
    Par scorpion.os dans le forum Windows Forms
    Réponses: 7
    Dernier message: 11/05/2006, 14h16
  4. [VBA-E]Erreur avec une combobox qui liste le contenu de cell
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2006, 12h01
  5. probleme avec une combobox
    Par el_quincho dans le forum IHM
    Réponses: 1
    Dernier message: 09/02/2006, 16h14

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