[Débutant] Afficher résultat via doPost
Bonjour,
Pour m'initier à J2EE, je suis en train d'essayer de réaliser une petite calculatrice :
On propose à l'utilisateur un formulaire permettant de saisir 2 opérandes, une liste déroulante qui contient les 4 opérateurs et un bouton Submit.
Le but est tout simplement d'afficher le résultat de l'opération.
J'ai commencé par créer une classe Opération que voici (j'ai enlevé les accesseurs) :
Code:
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
| package com.occalculatrice.beans;
public class Operation {
private String operande1;
private String operateur;
private String operande2;
private String resultat;
public Operation() { }
public Operation (String operande1, String operateur, String operande2) {
this.operande1 = operande1;
this.operateur = operateur;
this.operande2 = operande2;
int op1 = Integer.parseInt(this.operande1);
int op2 = Integer.parseInt(this.operande2);
int res;
if (this.operateur.equals("+")) {
res = op1 + op2;
}
else if (this.operateur.equals("-")) {
res = op1 - op2;
}
else if (this.operateur.equals("x")) {
res = op1 * op2;
}
else res = op1 / op2;
this.resultat = Integer.toString(res);
}
} |
Voici les méthodes doGet() et doPost() de ma servlet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Operation operation = new Operation(
request.getParameter("operande1"),
request.getParameter("operateur"),
request.getParameter("operande2"));
request.setAttribute("operation", operation);
} |
Et le code de ma JSP qui contient le formulaire et sur laquelle j'aimerai afficher le résultat à l'aide de Expression Language.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <%@ page pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Calculatrice</title>
</head>
<body>
<form method="post" action="">
<input name ="operande1" type="number" size=3/>
<select name="operateur" size="1">
<option value="+">+</option>
<option value="-">-</option>
<option value="x">x</option>
<option value="/">/</option>
</select>
<input name ="operande2" type="number" size=3/>
<input type="submit" value="=" />
</form>
<p>
${ operation.operande1 } ${ operation.operateur } ${ operation.operande2 } = ${ operation.resultat }
</p>
</body>
</html> |
Malheureusement pour le moment, quand j'appuie sur le bouton Submit, j'atteris sur une page blanche (qui a pourtant la même URL que la page ou se trouve le formulaire). Pouvez vous me dire pourquoi ?
Et existe-il un moyen plus proche pour afficher le résultat de l'opération saisit dans le formulaire?
Merci.