h:selectManyMenu – Java Server Faces (JSF)

April 12, 2008

JSF

  • Topic : Java Server Faces (JSF)
  • Environment : J2EE 5.0, MyFaces 1.1.5

selectManyMenu.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 
 
 
 
<html>
    <body>
          <f:view>
              <h:form id="select">
                  <h:panelGrid columns="1">
                       <h:column>
                          <h:outputText value="Select Languages : "/>
                          <h:selectManyMenu style="height:100;" value="#{selectManyMenuBean.languages}">
                              <f:selectItem itemLabel="Java" itemValue="Java" />
                              <f:selectItem itemLabel="C" itemValue="C"/>
                              <f:selectItem itemLabel="C++" itemValue="C++"/>
                          </h:selectManyMenu>
                      </h:column>
                       <h:column>
                          <h:outputText value="Select Languages : "/>
                          <h:selectManyMenu style="height:100;" value="#{selectManyMenuBean.selCities}">
                              <f:selectItems value="#{selectManyMenuBean.cities}" />
                          </h:selectManyMenu>
                      </h:column>
 
                      <h:column>
                          <h:commandButton value="Submit" action="#{selectManyMenuBean.submit}"/>
                      </h:column>
                  </h:panelGrid>
              </h:form>
          </f:view>
    </body>
</html>

SelectManyMenuBean.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
package net.javabeat.myfaces.menu;
 
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
 
public class SelectManyMenuBean {
    private List<string> languages;
    private List<selectItem> cities;
    private List<string> selCities;
 
    public SelectManyMenuBean() {
        cities = new ArrayList<selectItem>();
        cities.add(new SelectItem("Chennai"));
        cities.add(new SelectItem("Bangalore"));
        cities.add(new SelectItem("Pune"));
        cities.add(new SelectItem("Delhi"));
        cities.add(new SelectItem("Mumbai"));
    }
 
    public void setLanguages(List<string> languages) {
        this.languages = languages;
    }
 
    public List<string> getLanguages() {
        return languages;
    }
 
    public List<selectItem> getCities() {
        return cities;
    }
 
    public void setCities(List<selectItem> cities) {
        this.cities = cities;
    }
 
    public List<string> getSelCities() {
        return selCities;
    }
 
    public void setSelCities(List<string> selCities) {
        this.selCities = selCities;
    }
 
    public String submit(){
        return "selectManyMenu";
    }
}

faces-config.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<faces-config>
    <managed-bean>
        <managed-bean-name>selectOneBean</managed-bean-name>
        <managed-bean-class>net.javabeat.myfaces.menu.SelectOneMenuBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
        <navigation-case>
            <from-outcome>selectManyMenu</from-outcome>
            <to-view-id>/pages/menu/selectManyMenuResult.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>

selectOneMenuResult.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
 
 
<html>
    <body>
          <f:view>
              <h:form id="select">
                  <h:panelGrid columns="1">
                       <h:column>
                          <h:outputText value="Selected a Names"/>
                      </h:column>
                       <h:dataTable value="#{selectManyMenuBean.languages}" var="loc">
                              <h:column>
                                  <h:outputText value="#{loc}"/>
                              </h:column>
                       </h:dataTable>
                       <h:dataTable value="#{selectManyMenuBean.selCities}" var="loc">
                              <h:column>
                                  <h:outputText value="#{loc}"/>
                              </h:column>
                       </h:dataTable>
                  </h:panelGrid>
              </h:form>
          </f:view>
    </body>
</html>

email

Comments

comments