> For the complete documentation index, see [llms.txt](https://sigma-1.gitbook.io/notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sigma-1.gitbook.io/notes/webdev/jsf.md).

# JSF

## h:selectOneMenu

Bean:

```
enum State {
    Alabama("AL"),Montana("MT"),Alaska("AK"),Nebraska("NE"),
    Arizona("AZ"),Nevada("NV"),Arkansas("AR"),NewHampshire("NH"),
    California("CA"),NewJersey("NJ"),Colorado("CO"),NewMexico("NM"),
    Connecticut("CT"),NewYork("NY"),Delaware("DE"),NorthCarolina("NC"),
    Florida("FL"),NorthDakota("ND"),Georgia("GA"),Ohio("OH"),Hawaii("HI"),
    Oklahoma("OK"),Idaho("ID"),Oregon("OR"),Illinois("IL"),Pennsylvania("PA"),
    Indiana("IN"),RhodeIsland("RI"),Iowa("IA"),SouthCarolina("SC"),Kansas("KS"),
    SouthDakota("SD"),Kentucky("KY"),Tennessee("TN"),Louisiana("LA"),Texas("TX"),
    Maine("ME"),Utah("UT"),Maryland("MD"),Vermont("VT"),Massachusetts("MA"),
    Virginia("VA"),Michigan("MI"),Washington("WA"),Minnesota("MN"),
    WestVirginia("WV"),Mississippi("MS"),Wisconsin("WI"),Missouri("MO"),Wyoming("WY");

     private String stateCode

    private State(String stateCode) {
        this.stateCode = stateCode;
    }

    public String getStateCode() {
        return stateCode;
    }
}
```

JSF:

```
//顯示簡寫
<f:selectItems value="#{bean.State}" var="state"
    itemValue="#{state}" itemLabel="#{state.stateCode}" />
```

```
//顯示全名
<f:selectItems value="#{bean.State}" var="state"
    itemValue="#{state.stateCode}" itemLabel="#{state}" />
```
