I am having issue in populating dropdown using Struts with NetBeans. Please find below the code.I am getting following error. Could anyone please help in resolving the issue.

org.apache.jasper.JasperException: An exception occurred processing JSP page /simplePage.jsp at line 87

<td>
<html:select property="country" >
<html:option value="0">Select Country</html:option>
<html:optionsCollection name="simpleActionForm" property="countryList" label="countryName" value="countryId" />
</html:select>
</td>
</tr>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:393)
org.apache.struts.action.RequestProcessor.doForwar d(RequestProcessor.java:1078)
org.apache.struts.tiles.TilesRequestProcessor.doFo rward(TilesRequestProcessor.java:295)
org.apache.struts.action.RequestProcessor.internal ModuleRelativeForward(RequestProcessor.java:1022)
org.apache.struts.tiles.TilesRequestProcessor.inte rnalModuleRelativeForward(TilesRequestProcessor.ja va:374)
org.apache.struts.action.RequestProcessor.processF orward(RequestProcessor.java:566)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:212)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet .java:617)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:393)

root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Failed to obtain specified collection
org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:791)
org.apache.jsp.simplePage_jsp._jspService(simplePa ge_jsp.java:148)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:393)
org.apache.struts.action.RequestProcessor.doForwar d(RequestProcessor.java:1078)
org.apache.struts.tiles.TilesRequestProcessor.doFo rward(TilesRequestProcessor.java:295)
org.apache.struts.action.RequestProcessor.internal ModuleRelativeForward(RequestProcessor.java:1022)
org.apache.struts.tiles.TilesRequestProcessor.inte rnalModuleRelativeForward(TilesRequestProcessor.ja va:374)
org.apache.struts.action.RequestProcessor.processF orward(RequestProcessor.java:566)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:212)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet .java:617)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:393)

root cause

javax.servlet.jsp.JspException: Failed to obtain specified collection
org.apache.struts.taglib.html.OptionsCollectionTag .doStartTag(OptionsCollectionTag.java:181)
org.apache.jsp.simplePage_jsp._jspx_meth_html_005f optionsCollection_005f0(simplePage_jsp.java:407)
org.apache.jsp.simplePage_jsp._jspx_meth_html_005f select_005f0(simplePage_jsp.java:336)
org.apache.jsp.simplePage_jsp._jspx_meth_html_005f form_005f0(simplePage_jsp.java:226)
org.apache.jsp.simplePage_jsp._jspx_meth_html_005f html_005f0(simplePage_jsp.java:173)
org.apache.jsp.simplePage_jsp._jspService(simplePa ge_jsp.java:141)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:393)
org.apache.struts.action.RequestProcessor.doForwar d(RequestProcessor.java:1078)
org.apache.struts.tiles.TilesRequestProcessor.doFo rward(TilesRequestProcessor.java:295)
org.apache.struts.action.RequestProcessor.internal ModuleRelativeForward(RequestProcessor.java:1022)
org.apache.struts.tiles.TilesRequestProcessor.inte rnalModuleRelativeForward(TilesRequestProcessor.ja va:374)
org.apache.struts.action.RequestProcessor.processF orward(RequestProcessor.java:566)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:212)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet .java:617)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:393)
================================================== ======
simplePage.jsp
<html:form action="/simpleDispatchAction">
<h1>Hello World!</h1>

<table border="0" width ="50%">
<tr>
<td><span id="check">Category ID</span></td>
<td><html:text name = "simpleActionForm" property="categoryID"/></td>
<td><span id="one">Category Name</span></td>
<td><html:text name = "simpleActionForm" property="categoryName"/></td>

</tr>
<tr>
<td>
Select Country :
</td>
<td>
<html:select property="country" >
<html:option value="0">Select Country</html:option>
<html:optionsCollection name="simpleActionForm" property="countryList" label="countryName" value="countryId" />
</html:select>
</td>
</tr>
<tr><span style ="color:red"><html:errors/></span></tr>

</table>

<table border="0" width ="50%">
<html:submit value="save" property="method"/>
</table>
</html:form>
</body>
</html:html>
================================================== ======
simpleActionForm.java
public class simpleActionForm extends org.apache.struts.action.ActionForm {

private String categoryName;
private int categoryID;
private String country;
//private String state;
private ArrayList countryList;
//private ArrayList stateList;




public int getCategoryID() {
return categoryID;
}

public void setCategoryID(int categoryID) {
this.categoryID = categoryID;
}

public String getCategoryName() {
return categoryName;
}

public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}

/**
* @return the country
*/
public String getCountry() {
return country;
}

/**
* @param country the country to set
*/
public void setCountry(String country) {
this.country = country;
}

/**
* @return the countryList
*/
public ArrayList getCountryList() {
return countryList;
}

/**
* @param countryList the countryList to set
*/
public void setCountryList(ArrayList countryList) {
countryList.add(new LabelValueBean("Status", "Status"));
countryList.add(new LabelValueBean("Lines", " Lines"));
countryList.add(new LabelValueBean("White", "White"));

System.out.println("countryList :" + countryList);
this.countryList = countryList;
}

/**
*
*/
public simpleActionForm() {
super();
// TODO Auto-generated constructor stub
}

/**
* This is the action called from the Struts framework.
* @param mapping The ActionMapping used to select this instance.
* @param request The HTTP Request we are processing.
* @return
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (getCategoryName() == null || getCategoryName().length() < 1) {
errors.add("categoryName", new ActionMessage("error.name.required"));
// TODO: add 'error.name.required' key to your resources
}
return errors;
}
}
================================================== ======
simpleDispatchAction.java
public class simpleDispatchAction extends DispatchAction {
public ActionForward populate(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Inside populate");
Session sess = null;
SimpleExample simpleForm = new SimpleExample();
simpleActionForm formObj =
(simpleActionForm)form;
try {
SessionFactory fact = new
Configuration().configure().buildSessionFactory();
sess = fact.openSession();

//Using from Clause
String SQL_QUERY ="from Country country";
System.out.println("SQL_QUERY : "+ SQL_QUERY);
Query query = sess.createQuery(SQL_QUERY);

ArrayList countryList = new ArrayList();
int result = query.executeUpdate();
System.out.println("After Execute Update "+result);
for(Iterator it=query.iterate();it.hasNext();){
Country cntry=(Country)it.next();

countryList.add(new countryDataClass(cntry.getCountryID(), cntry.getCountryName()));
}

formObj.setCountryList(countryList);
//request.setAttribute("countryList",countryList);
sess.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
return mapping.findForward(SUCCESS);
}

public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

return mapping.findForward(SUCCESS);
}
================================================== ======
countryDataClass.java
public class countryDataClass {

private int countryId;

private String countryName;

countryDataClass(int countryId, String countryName)
{
this.countryId = countryId;
this.countryName = countryName;
}

/**
* @return the countryId
*/
public int getCountryId() {
return countryId;
}

/**
* @param countryId the countryId to set
*/
public void setCountryId(int countryId) {
this.countryId = countryId;
}

/**
* @return the countryName
*/
public String getCountryName() {
return countryName;
}

/**
* @param countryName the countryName to set
*/
public void setCountryName(String countryName) {
this.countryName = countryName;
}
}
================================================== ======