# Java > Dveloppement Web en Java > Servlets/JSP >  Liste droulante dans une JSP

## Vincinho

Bonjour tout le monde,

Dans un site web j'aimerais mettre une liste deroulante dans un formulaire sur une JSP qui donnerais le choix de rgions. Jusque la ca va mais j'aimerais conserver seulement le numro de cette rgion qui est dans ma base de donnes mais afficher le nom des rgions. J'ai fais ca :


```

```

Ca m'affiche bien toutes mes regions mais j'aimerais que lorsque j'en ai slectionn une, ca envoie a ma servlet qui s'occupe de crer mon camping uniquement le numro de la rgion. Et je vois pas comment faire.

----------


## Jidefix

```
<OPTION value="<%=r.getNumeroRegion()%>"><%=r.getNomRegion()%></OPTION>
```

penses aussi  la syntaxe


```
<%=toto%>
```

qui est beaucoup plus simple que 


```
<% out.println(toto)%>
```

 :;):

----------


## regis1512

Bonjour,

Conseil :


```

```

au lieu de :


```

```

L'iterator est meilleur que de faire un get() sur chaque lment.

Bon courage.

----------


## Vincinho

C'est bon j'ai bien la liste des rgions qui s'affiche. Maintenant ce que je voudrais c'est envoy a ma servlet uniquement le numro de la rgion slectionn et non son appelation. Et je vois pas trop comment faire.

----------


## regis1512

Bonjour,

Si tu fais comme t'a indique Jidefix en prcisant la value de l'option (en rouge), ca doit le faire.

Bon courage.

----------


## Jidefix

Ben si tu as appliqu mon exemple, le contenu de la variable


```

```

est le numro de ta rgion puisque tu affiche la veleur qui est entre les balise <OPTION> et </OPTION> mais le contenu rel de la variable qui sera envoy au serveur est le contenu de l'attribut "value"

----------


## Vincinho

Mais comment je fais mon input dans ce cas et o ?

J'ai ca dsormais :



```

```

J'ai pas encore mis l'iterator  ::oops::  je verrais ca pour une autre fois ou alors si j'ai le temps
Mais quand je cliques sur mon bouton il fais rien et plante le prog si je touche a un autre bouton

Pour rcupr mon numro de rgion dans ma servlet je faisais ca :


```
c.setNumRegion(Integer.valueOf(request.getParameter("regioncreation")));
```

----------


## Jidefix

Normal tu dois mettre un attribut "action" dans la balise "form" pour lui dire vers quelle servlet le bouton doit envoyer le formulaire.

Sinon a me semble correct

----------


## Vincinho

J'ai mis ca maintenant :



```

```

Du coup il envoie bien vers la servlet mais ca marche pas mieux je vois pas trop comment ca doit marcher

----------


## Jidefix

J'ai une question con mais il est ou ton 

```
<INPUT type=submit>
```

?
Tu l'as dfini comment ton bouton pour envoyer le formulaire?

----------


## Vincinho

Je vous met le bout de code pour entrer un nouveau camping



```

```

Et ma servlet :



```

```

Au debut de ma page j'ai deja une <form action="... donc je sais pas si c'est necessaire de le remettre. En tout cas dans l'etat actuel mon bouton ne fais rien, il ne plante pas tout de suite le programme mais je peux rien faire

----------


## Jidefix

Ben oui il plante pas le programme parce qu'il ne fait strictement rien  ::D: 

Pour info la structure d'un formulaire a ressemble  a:



```

```

Donc en gros ce qui ne va pas dans ton formulaire c'est que le submit doit etre entre les balises <form> et </form> du formulaire de ta page.

Autres choses en vrac:
- tu ne peux pas imbriquer deux formulaires, donc ton autre balise <form>, en plus de ne servir  rien, risque de faire mal marcher ta page
- un input en dehors des deux balises form ne sera pas envoy au serveur (donc tous tes autres input ne seront pas pris en compte


Essaye de respecter un peu plus l'arborescence logique de l'HTML, l'imbrication des balises est fondamentale

----------


## Vincinho

En fait c'est bon j'ai rgl le problme. Comme j'avais deja un formulaire plus haut, le fait de mettre une balise </form> desactivait logiquement le bouton. J'ai donc enlev le formulaire autour de ma liste droulante et ca tourne nickel.



```

```

Je met le code au cas o ca interesse certains. Du coup dans cet exemple ca affiche sur ma JSP le nom de mes regions ("r.getNomRegion()") mais ca n'envoit a ma servlet que le numro correspondant ("r.getIdRegion()").

----------

