UP PREVIOUS NEXT   Technologies Internet et Education, © TECFA
  3. Traitement de formulaires

3. Traitement de formulaires

3.1 Principe de base du traitement de requêtes

request.getParameter("paramètre")

Il y a plus de documentation:

Exemple 3-1: Simple GET Demo.


<html>
<body>
<java>
String message;
if ((message = request.getParameter("MESSAGE")) == null) {
out.print("No message query argument supplied.");
out.print("Please use an URL like request1.jhtml?MESSAGE=Hello");
}
else
out.print("Message is " + message);
</java>
</body> </html>

3.2 Traitement simple de formulaires

Exemple 3-2: Simple calcul (Formulaire + JHTML)

Formulaire HTML:

<form action="calcul.jhtml" method=post>
Quelles sont vos connaissances de HTML ?

<input type="radio" name="choice" value="1" checked>faibles

<input type="radio" name="choice" value="2">moyennes

<input type="radio" name="choice" value="3">bonnes

<br>

Indiquez votre expertise en programmation:

<input type="radio" name="choice2" value="1" checked>absente

<input type="radio" name="choice2" value="2">moyenne

<input type="radio" name="choice2" value="3">bonne

<P>

<input type="submit" value="Voir le résultat!">
</form>

3.3 Vérification de l'input

Voir si un paramètre est vide:
  1. Champs texte
  2. on regarde s'ils sont vides (string de taille zéro)
  3. un input type "text" (HTML) est donc toujours passé au serveur !!

// un string vide pour comparer

String emptyString = new String ("");

// input

String AdresseString = req.getParameter("adresse");

.....

if ( AdresseString.equals(emptyString) ) { ... geuler ...}

  1. Widgets de type "radio" etc.
  2. on regarde si l'objet est présent ou absent (le formulaire ne transmet rien)
  3. si "choix" n'a pas été transmis, getParameter retourne null !

String Choix = req.getParameter("choix");

....

if (Choix == null) { .... geuler .... }

 

 

JAVA:

// Parameters come as strings
String choice = request.getParameter("choice");
String choice2 = request.getParameter("choice2");

// Integer.parseInt() translates a string to an Integer
int score = Integer.parseInt(choice) + Integer.parseInt(choice2);

out.print("<h3>Votre score est de " + score + "</h3>");

if (score < 3) {
out.print ("<p>Vous êtes un débutant</p>");
} else if (score < 5) {
out.print ("<p>Vous avez un niveau moyen</p>");
} else {
out.print ("<p>Vous êtes un expert !</p>");
}

Pour les tricheurs, un emploi "GET" de la page:

UP PREVIOUS NEXT -- TIE