Bonjour,
Je suis coincé depuis plusieurs heures sur un problème et fouiller le web ne m'a pas aider pour le moment.
J'aimerais qu'un utilisateur entre une formule de math de un <textarea>, je la récupère en JS et je l'envoie sous forme de requête GET à mon servlet.
-> Jusque la pas de soucis.
Dans mon servlet je dois calculer la valeur de mon expression mathématique et l'afficher dans le <textarea> de ma page web. Pour le moment j'arrive à afficher le résultat de mon expression mais en écrasant tout le code HTML que contient ma page.
Je glisse mes différents code ci-dessous
Code HTML
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <body> <textarea id="formule">${result}</textarea> <input id="but" type="button" value="ENVOYER"/> <script src="jquery.js"></script> <script src="myscript.js"></script> </body>
Code Javascript
Code du servlet
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 $(function(){ var expr='/Calc?expr='; $('#but').click(function(){ res = $('#formule').val(); res = res.replace("+", "B"); expr+=res; console.log(expr + "\n J'appelle mon servlet"); window.location.href=expr; expr='/Calc?expr='; }); $('#formule').val(''); $('#formule').focus(); });
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class MaServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //System.out.println("Je suis dans mon doGet"); String formule = req.getParameter("expr"); String newString = formule.replace("B", "+"); Expression calc = new ExpressionBuilder(newString).build(); resp.setStatus(200); resp.getWriter().println(newString+" = "+calc.evaluate()+"\n"); } }
Merci d'avance pour l'aide et pour les pistes de solutions![]()
Partager