Bonsoir à tous,
Je viens vous solliciter car je bloque sur un problème depuis maintenant plusieurs jours.
J'ai deux listes déroulantes et la deuxième(dd2) dépend de la valeur de la première(dd1).
J'utilise une servlet à laquelle j'envoie en paramètre la valeur de la liste 1 pour pouvoir récupérer la liste 2 sous forme d'un objet JSON. Le problème est que le paramètre n'arrive jamais à la servlet.
Code de la jsp :
Code de la 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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <%@ page pageEncoding="UTF-8" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html> <html lang="en"> <head> <title>SO question 2263996</title> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> $(document).ready(function() { $('#dd1').change(function(event) { var $dd=$("select#dd1").val(); jQuery.get('options',{val:JSON.stringify($dd)},function(responseJson) { var $select = $('#dd2'); $select.find('option').remove(); $.each(responseJson, function(key, value) { $('<option>').val(key).text(value).appendTo($select); }); }); }); }); </script> </head> <body> <form> <select id="dd1" name="dd1"> <option value="400">400</option> <option value="225">225</option> </select> <select id="dd2" name="dd2"> <option>Please select parent</option> </select> </form> </body> </html>
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 package testAjax; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; public class options extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ List<String> options = new ArrayList<String>(); String val = request.getParameter("val").toString(); String json=null; if(val.equals("400")){ options.add("200"); options.add("800"); }else{ options.add( "J'adore les pommes!"); options.add( "Je déteste les carottes!"); } json = new Gson().toJson(options); response.setContentType("application/json"); response.getWriter().write(json); this.getServletContext().getRequestDispatcher( "/WEB-INF/test.jsp" ).forward( request, response ); } }
Le test if(val.equals("400")) renvoie une exception parce que val est vide.
Quelqu'un pourrait m'aider, s'il vous plait ?
Merci d'avance.
Partager