jsp - Populating a Select list from Servlet -


i populate select list array list have added model class called states. using servlet controller need populate states in select list in form.

is possible?

below code have got far

form:

<%@ page language="java" contenttype="text/html; charset=iso-8859-1"     pageencoding="iso-8859-1"%>     <%@ page import="java.util.arraylist" %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>customer management</title> </head> <body>     <form action="/customermanagment" method="post">         first name:<br>         <input type="text" name="firstname"/><br>         last name:<br>         <input type="text" name="lastname"/><br>         email:<br>         <input type="text" name="email"/><br>         phone:<br>         <input type="text" name="phone"/><br>         phone type:<br>          street address:<br>         <input type="text" name="streetaddress"/><br>         apartment number:<br>         <input type="text" name="apartmentnumber"/><br>         city:<br>         <input type="text" name="city"/><br>         state:<br>         <select>             <option><%             arraylist<edu.witc.assignment03.model.states> states = (java.util.arraylist)request.getattribute("states");                (edu.witc.assignment03.model.states state : states) {                     state.getstates();                }%></option>         </select><br>          <input type="submit" value="submit">         </form> 

servlet:

import java.util.list;     import javax.servlet.*; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; //import javax.servlet.annotation.webservlet; //import javax.servlet.http.httpservlet; //import javax.servlet.http.httpservletrequest; //import javax.servlet.http.httpservletresponse;     import edu.witc.assignment03.model.customer; import edu.witc.assignment03.model.phone; import edu.witc.assignment03.model.states;  /*  * not thread-safe. illustration purpose  */ @webservlet(name = "customerservlet", urlpatterns = {          "/customermanagement"}) public class customerservlet extends httpservlet {     private static final long serialversionuid = -20l;      private list<edu.witc.assignment03.model.states> states = new arraylist<states>();     private list<edu.witc.assignment03.model.customer> customers = new arraylist<customer>();      public void init() throws servletexception {        states state = new states();         states.add(state);      }   private void addcustomer(httpservletresponse response, httpservletrequest request)//redirect index            throws ioexception, servletexception {     string url = "/customermanagement.jsp";         request.setattribute("customers", customers);         request.getrequestdispatcher(url).forward(request,response);     }      private void editcustomer(httpservletresponse response, httpservletrequest request)//redirect index            throws ioexception, servletexception {         string url = "/customermanagement.jsp";         request.setattribute("customers", customers);     request.getrequestdispatcher(url).forward(request,response);     }      private void sendcustomerlist(httpservletresponse response, httpservletrequest request)//redirect index             throws ioexception, servletexception {         string url = "/index.jsp";         request.setattribute("customers", customers);         request.getrequestdispatcher(url).forward(request,response);                                                }      private customer getcustomer(int customerid) {         (customer customer : customers) {             if (customer.getcustomerid() == customerid) {                 return customer;             }         }         return null;     }      private void sendeditcustomerform(httpservletrequest request,              httpservletresponse response) throws ioexception, servletexception {          string url = "/customermanagement.jsp";         request.setattribute("customers", customers);         request.getrequestdispatcher(url).forward(request,response);     }       public void doget(httpservletrequest request,              httpservletresponse response)             throws servletexception, ioexception {         string uri = request.getrequesturi();         if (uri.endswith("/customer")) {             sendcustomerlist(response, request);         } else if (uri.endswith("/editcustomer")) {             sendeditcustomerform(request, response);         }                }      public void dopost(httpservletrequest request,              httpservletresponse response)             throws servletexception, ioexception {         // update customer         int customerid = 0;         try {             customerid =                      integer.parseint(request.getparameter("id"));         } catch (numberformatexception e) {         }         customer customer = getcustomer(customerid);         if (customer != null) {             customer.setfirstname(request.getparameter("firstname"));             customer.setlastname(request.getparameter("lastname"));             customer.setemail(request.getparameter("email"));             customer.setphone(request.getparameter("phone"));             customer.setaddress(request.getparameter("address"));             customer.setcity(request.getparameter("city"));             customer.setstate(request.getparameter("states"));             customer.setzip(request.getparameter("zip"));         }         addcustomer(response, request);     } } 

model:

package edu.witc.assignment03.model;  import java.util.arraylist; import java.util.list;  public class states {      private list<string> state = new arraylist<>();{      state.add("alabama");     state.add("alaska");      state.add("arizona");      state.add("arkansas");      state.add("california");      state.add("colorado");      state.add("connecticut");      state.add("delaware");      state.add("florida");      state.add("georgia");      state.add("hawaii");      state.add("idaho");      state.add("illinois");      state.add("indiana");      state.add("iowa");      state.add("kansas");      state.add("kentucky");      state.add("louisiana");      state.add("maine");      state.add("maryland");      state.add("massachusetts");      state.add("michigan");      state.add("minnesota");      state.add("mississippi");      state.add("missouri");      state.add("montana");      state.add("nebraska");      state.add("nevada");      state.add("new hampshire");      state.add("new jersey");      state.add("new mexico");      state.add("new york");      state.add("north carolina");      state.add("north dakota");      state.add("ohio");      state.add("oklahoma");      state.add("oregon");      state.add("pennsylvania");      state.add("rhode island");      state.add("south carolina");      state.add("south dakota");      state.add("tennessee");      state.add("texas");      state.add("utah");      state.add("vermont");      state.add("virginia");      state.add("washington");      state.add("west virginia");      state.add("wisconsin");      state.add("wyoming");     }      public list<string> getstates(){         return this.state;     } } 

in servlet:

request.setattribute("states", state.getstates()); 

in jsp, change:

<option> <%  arraylist<edu.witc.assignment03.model.states> states = (java.util.arraylist)request.getattribute("states");  (edu.witc.assignment03.model.states state : states)  {  state.getstates();  } %> </option> 

to:

<%  arraylist<string> states = (java.util.arraylist)request.getattribute("states");  (string state : states)  {  out.print("<option value='"+state+"'>"+state+"</option>");  } %> 

Comments