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
Post a Comment