US State Helper
Here is an example of a simple US State view helper which can be used to create a state pull-down for your stripes application.
The StateHelper bean:
/** * StateHelper provides a list of states to stripes. * */ package com.app.helper; import java.util.ArrayList; import java.util.List; /** * This view helper returns a list of states * */ public class StateHelper { /** * Objects are returned of type State */ public class State { private String code; private String name; protected State(String code, String name) { this.code=code; this.name=name; } public String getCode() { return code; } public String getName() { return name; } } private List<State> states = null; public StateHelper() { states = new ArrayList<State>(51); states.add(new State("AL","Alabama")); states.add(new State("AK","Alaska")); states.add(new State("AZ","Arizona")); states.add(new State("AR","Arkansas")); states.add(new State("CA","California")); states.add(new State("CO","Colorado")); states.add(new State("CT","Connecticut")); states.add(new State("DE","Delaware")); states.add(new State("DC","Dist of Columbia")); states.add(new State("FL","Florida")); states.add(new State("GA","Georgia")); states.add(new State("HI","Hawaii")); states.add(new State("ID","Idaho")); states.add(new State("IL","Illinois")); states.add(new State("IN","Indiana")); states.add(new State("IA","Iowa")); states.add(new State("KS","Kansas")); states.add(new State("KY","Kentucky")); states.add(new State("LA","Louisiana")); states.add(new State("ME","Maine")); states.add(new State("MD","Maryland")); states.add(new State("MA","Massachusetts")); states.add(new State("MI","Michigan")); states.add(new State("MN","Minnesota")); states.add(new State("MS","Mississippi")); states.add(new State("MO","Missouri")); states.add(new State("MT","Montana")); states.add(new State("NE","Nebraska")); states.add(new State("NV","Nevada")); states.add(new State("NH","New Hampshire")); states.add(new State("NJ","New Jersey")); states.add(new State("NM","New Mexico")); states.add(new State("NY","New York")); states.add(new State("NC","North Carolina")); states.add(new State("ND","North Dakota")); states.add(new State("OH","Ohio")); states.add(new State("OK","Oklahoma")); states.add(new State("OR","Oregon")); states.add(new State("PA","Pennsylvania")); states.add(new State("RI","Rhode Island")); states.add(new State("SC","South Carolina")); states.add(new State("SD","South Dakota")); states.add(new State("TN","Tennessee")); states.add(new State("TX","Texas")); states.add(new State("UT","Utah")); states.add(new State("VT","Vermont")); states.add(new State("VA","Virginia")); states.add(new State("WA","Washington")); states.add(new State("WV","West Virginia")); states.add(new State("WI","Wisconsin")); states.add(new State("WY","Wyoming")); } public List<State> getAllStates() { return states; } }
In your JSP you can reference the state helper with the following JSTL tag. Using scope="application" insures that the helper will be instantiated once and re-used for everyone.
<jsp:useBean id="stateHelper" class="com.app.helper.StateHelper" scope="application" />
In your <stripes:form> nesting, reference the state helper like this...
<stripes:select name="myDataObject.state" size="1"> <stripes:option value="">Select One</stripes:option> <stripes:options-collection collection="${stateHelper.allStates}" label="name" value="code"/> </stripes:select>