Click here to Skip to main content
15,896,118 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a ajax get request in my jsp, in my servlet, doGet method I have a requestdistpatcher . I am trying to populate my 2nd dropdown box based on my 1st dropdown box , data are from database. In my servlet, I have request.setattribute to my 2nd dropdown box , I am not sure why my 2nd dropdown does not appear my data from my request.setattribute.

Here are my codes
//servlet
	        
        try{
                AccountManager am = new AccountManager();

                ArrayList<string> nameList = am.retrieveName(name[0]);
                 
                request.setAttribute("name", nameList);

        	String[] name = request.getParameterValues("name");
        	
        	ArrayList<string> passwordList = am.retrievePassword(name[0]);
                 
                request.setAttribute("password", passwordList);
}
        	
        	 
        
        catch(Exception e)
        {
        	
        }

        
                RequestDispatcher requestDispatcher = request.getRequestDispatcher("/account.jsp");
	   
                 requestDispatcher.forward(request,response);

//jsp

 <select id="select1" name="select1" multiple="multiple">
				<c:foreach var="name" items="${name}" xmlns:c="#unknown">
				<option value="${name}" >${name}</option>
		    </c:foreach>     
			</select>

   <select id="select2" name="select2" multiple="multiple">
				<c:foreach var="password" items="${password}" xmlns:c="#unknown">
				<option value="${password}" >${password}</option>
		    </c:foreach>     
			</select>


$('#select2').change(function(event){
  
  $.ajax({
    url:"AccountServlet",
    type:"json",
    method: "get",
    data: $('#select1').val
   });
});</string></string>
Posted
Updated 26-Oct-14 18:15pm
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900