6 réponses
Ou comment se sentir très seul au sein d'une discussion...T'façon j'm'en fous, g fini par trouver tout seul...
Donc si ça en intéresse quand même, le principe du jsp, c'est que c'est effectivement magique, et qu'un certain nombre de méthodes s'apellent "automatiquement" : par exemple, au clique sur un bouton dont le nom est "toto" (défini en html par exemple par :
la méthode "setToto("ma valeur")" est automatiquement appelée (si elle se trouve dans la classe importée)...Grosso modo, ça marche un peu comme ça. Et derrière, y'a plein de subtilités sympathiques.
Moâ, c'était juste ça que je voulais savoir...
Ciao,
L'ami Rico.
Donc si ça en intéresse quand même, le principe du jsp, c'est que c'est effectivement magique, et qu'un certain nombre de méthodes s'apellent "automatiquement" : par exemple, au clique sur un bouton dont le nom est "toto" (défini en html par exemple par :
<FORM METHOD=get> <INPUT TYPE=submit NAME="toto" VALUE="ma valeur"> </FORM>)
la méthode "setToto("ma valeur")" est automatiquement appelée (si elle se trouve dans la classe importée)...Grosso modo, ça marche un peu comme ça. Et derrière, y'a plein de subtilités sympathiques.
Moâ, c'était juste ça que je voulais savoir...
Ciao,
L'ami Rico.
Bon, j'insiste un coup, parce que je me suis repenché sur le problème, et j'ai toujours pas vu le principe. Normalement, il y a une méthode "doGet" (dans une classe java incluse dans le .jsp : NumberGuessBean) qui doit permettre au navigateur de savoir quoi faire une fois le bouton pressé. Mais dans ce cas, rien. Donc je ne vois pas le lien entre le clique sur le bouton "submit", et l'action qui en découle. (appel d'une méthode de la classe NumberGuessBean).
Kiki pourrait m'aider?
Vous remerciant,
Rico.
Kiki pourrait m'aider?
Vous remerciant,
Rico.
Jean-François Pillou
Messages postés
18707
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
16 février 2023
63 270
4 sept. 2003 à 13:50
4 sept. 2003 à 13:50
Sauf que tu nous donne pas tout le code source...
En fait je suppose que lorsque l'on précise pas d'action, c'est la page elle-même qui est invoquée... elle fait donc le formulaire + le traitement !
En fait je suppose que lorsque l'on précise pas d'action, c'est la page elle-même qui est invoquée... elle fait donc le formulaire + le traitement !
Voici le code jsp, suivi du code java. Mon soucis est de comprendre comment est apellée la méthode setGuess, avec le bon paramètre (le contenu de la zone de texte) :
(Dans le web.xml, rien n'apparait de ce genre)
(Dans le web.xml, rien n'apparait de ce genre)
<!-- Copyright (c) 1999 The Apache Software Foundation. All rights reserved. Number Guess Game Written by Jason Hunter, CTO, K&A Software http://www.servlets.com --> <%@ page import = "num.NumberGuessBean" %> <jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/> <jsp:setProperty name="numguess" property="*"/> <html> <head><title>Number Guess</title></head> <body bgcolor="white"> <font size=4> <% if (numguess.getSuccess()) { %> Congratulations! You got it. And after just <%= numguess.getNumGuesses() %> tries.<p> <% numguess.reset(); %> Care to <a href="numguess.jsp">try again</a>? <% } else if (numguess.getNumGuesses() == 0) { %> Welcome to the Number Guess game.<p> I'm thinking of a number between 1 and 100.<p> <form method=get> What's your guess? <input type=text name=guess> <input type=submit value="Submit"> </form> <% } else { %> Good guess, but nope. Try <b><%= numguess.getHint() %></b>. You have made <%= numguess.getNumGuesses() %> guesses.<p> I'm thinking of a number between 1 and 100.<p> <form method=get> What's your guess? <input type=text name=guess> <input type=submit value="Submit"> </form> <% } %> </font> </body> </html>
Et le code java : /* * Originally written by Jason Hunter, http://www.servlets.com */ package num; import java.util.*; public class NumberGuessBean { int answer; boolean success; String hint; int numGuesses; public NumberGuessBean() { reset(); } public void setGuess(String guess) { numGuesses++; int g; try { g = Integer.parseInt(guess); } catch (NumberFormatException e) { g = -1; } if (g == answer) { success = true; } else if (g == -1) { hint = "a number next time"; } else if (g < answer) { hint = "higher"; } else if (g > answer) { hint = "lower"; } } public boolean getSuccess() { return success; } public String getHint() { return "" + hint; } public int getNumGuesses() { return numGuesses; } public void reset() { answer = Math.abs(new Random().nextInt() % 100) + 1; success = false; numGuesses = 0; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
s'il vous plait j'ai un problème de code java
je veut savoir comment faire une méthode de recherche en java avec le type résultats est un vector
aidez moi pour terminer mon projet fin d'études
je veut savoir comment faire une méthode de recherche en java avec le type résultats est un vector
aidez moi pour terminer mon projet fin d'études
bonjour
voilà un exemple qui peut t'aider
public Vector getAllInterests ( ) throws Exception {
// Retourne un vecteur contenant l'ensemble des centres d'intérêt trouvés
// dans la base
Vector interests = new Vector();
try {
String request = "select * from INTEREST";
Statement statement = connection.createStatement();
ResultSet response = statement.executeQuery(request);
while (response.next()) {
int interestID = response.getInt("ID_INTEREST");
String interestName = response.getString("INTEREST");
Interest interest = new Interest ( interestID, interestName );
interests.add(interest);
}
response.close();
statement.close();
return interests;
}
catch (Exception e) {
throw e;
}
}
BN: INTEREST est le nom de la table et ID_INTEREST et INTEREST sont des champs de types int et String respectivement
il est à noter aussi que Interest (dans la ligne contenant le code "new Interest ( interestID, interestName )" est le nom d'une classe java ayant 2 attributs de types int et String
voilà un exemple qui peut t'aider
public Vector getAllInterests ( ) throws Exception {
// Retourne un vecteur contenant l'ensemble des centres d'intérêt trouvés
// dans la base
Vector interests = new Vector();
try {
String request = "select * from INTEREST";
Statement statement = connection.createStatement();
ResultSet response = statement.executeQuery(request);
while (response.next()) {
int interestID = response.getInt("ID_INTEREST");
String interestName = response.getString("INTEREST");
Interest interest = new Interest ( interestID, interestName );
interests.add(interest);
}
response.close();
statement.close();
return interests;
}
catch (Exception e) {
throw e;
}
}
BN: INTEREST est le nom de la table et ID_INTEREST et INTEREST sont des champs de types int et String respectivement
il est à noter aussi que Interest (dans la ligne contenant le code "new Interest ( interestID, interestName )" est le nom d'une classe java ayant 2 attributs de types int et String
10 sept. 2003 à 10:33
Moi aussi, j'etais curieuse comment les forms HTML marche avec JSP et je trouve que ces deux articles peuvent clarifier quelque questions...
http://java.sun.com/products/jsp/html/jspbasics.fm2.html
http://www.javaworld.com/javaworld/jw-03-2000/jw-0331-ssj-forms.html
Ciao
Lillu
http://www.geocities.com/lillamarta
http://www.geocities.com/lillamarta/purple