获取美国各州名单的最简单方法

时间:2014-02-19 16:29:29

标签: java jsp

获得美国州名单的最简单方法是什么?

我需要在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>

2 个答案:

答案 0 :(得分:2)

为了获得最大的灵活性,您可以将状态保留在数据库表中(如果您有可用的数据库;我假设您从Web应用程序开始执行)。然后,您甚至可以将值粘贴到缓存中,例如EhCache。

答案 1 :(得分:1)

真的,你的整体工作得很好,但如果你正在寻找另一种方法来做到这一点 我建议使用HashMap

它往往更干净,你将它们全部保存在一个组中,所有组都分配了key(状态的缩写)和Value(状态的全名)。然后,您可以遍历HashMap并收集值。 JSP我不是最好的,但我知道你可以使用HashMap!祝你好运