write below code in jsp page
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
<%String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>
My JSF 'index.jsp' starting page
</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<f:view>
<h:panelGrid id="BatchesList" rendered="true">
<h:form>
<h:outputText value="Select Batch" />
<h:selectOneMenu value="#{dbl.selectedCategory}">
<f:selectItems value="#{dbl.items}" />
</h:selectOneMenu>
</h:form>
</h:panelGrid>
</f:view>
</body>
</html>
write below code in bean class
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.faces.model.SelectItem;
public class DynamicListBean {
private ArrayList dynList = new ArrayList();
private SelectItem[]items;
private List dList = new ArrayList();
private String selectedCategory;
public DynamicListBean()
{
items=populateSelectOneMenu();
}
public SelectItem[] getItems() {
return items;
}
public void setItems(SelectItem[] items) {
this.items = items;
}
public String getSelectedCategory() {
return selectedCategory;
}
public void setSelectedCategory(String selectedCategory) {
this.selectedCategory = selectedCategory;
}
public List getDList() {
return dList;
}
public void setDList(List list) {
dList = list;
}
public ArrayList getDynList() {
return dynList;
}
public void setDynList(ArrayList dynList) {
this.dynList = dynList;
}
public SelectItem[] populateSelectOneMenu() {
String a = "B";
List selectItems = new ArrayList();
for (int i = 1; i < 5; i++) {
dList.add(a + i);
}
Iterator it = dList.listIterator();
while (it.hasNext()) {
String label = (String) it.next();
selectItems.add(new SelectItem(label));
}
return (SelectItem[]) selectItems.toArray(new SelectItem[0]);
}
}