获得美国州名单的最简单方法是什么?
我需要在JSP表单中使用这些,目前我的enum工作得很好。但是我想知道如何改进......
public enum State {
AL("Alabama"),
MT("Montana"),
AK("Alaska"),
NE("Nebraska"),
AZ("Arizona"),
NV("Nevada"),
AR("Arkansas"),
NH("NewHampshire"),
CA("California"),
NJ("NewJersey"),
CO("Colorado"),
NM("NewMexico"),
CT("Connecticut"),
NY("NewYork"),
DE("Delaware"),
NC("NorthCarolina"),
FL("Florida"),
ND("NorthDakota"),
GA("Georgia"),
OH("Ohio"),
HI("Hawaii"),
OK("Oklahoma"),
ID("Idaho"),
OR("Oregon"),
IL("Illinois"),
PA("Pennsylvania"),
IN("Indiana"),
RI("RhodeIsland"),
IA("Iowa"),
SC("SouthCarolina"),
KS("Kansas"),
SD("SouthDakota"),
KY("Kentucky"),
TN("Tennessee"),
LA("Louisiana"),
TX("Texas"),
ME("Maine"),
UT("Utah"),
MD("Maryland"),
VT("Vermont"),
MA("Massachusetts"),
VA("Virginia"),
MI("Michigan"),
WA("Washington"),
MN("Minnesota"),
WV("WestVirginia"),
MS("Mississippi"),
WI("Wisconsin"),
MO("Missouri"),
WY("Wyoming");
private String state;
private State(String state) {
this.state = state;
}
public String getStatusCode() {
return this.state;
}
}
然后我将它传递给模型,并在JSP(Spring形式)中调用这些:
<form:form>
...
<form:select path="state" id="state">
<form:options items="${usaStates}" />
</form:select>
<form:errors path="state" cssClass="error"/>
...
</form:form>
答案 0 :(得分:2)
为了获得最大的灵活性,您可以将状态保留在数据库表中(如果您有可用的数据库;我假设您从Web应用程序开始执行)。然后,您甚至可以将值粘贴到缓存中,例如EhCache。
答案 1 :(得分:1)
真的,你的整体工作得很好,但如果你正在寻找另一种方法来做到这一点
我建议使用HashMap
。
它往往更干净,你将它们全部保存在一个组中,所有组都分配了key
(状态的缩写)和Value
(状态的全名)。然后,您可以遍历HashMap并收集值。 JSP
我不是最好的,但我知道你可以使用HashMap
!祝你好运