Hi,
Declare like this in your action class,

List<String> country = new ArrayList<String>();

Hope this will solve your problem....

-
Sheeva

On Thu, Feb 19, 2009 at 5:47 AM, Sidharth Bhatia <sidharth.bhat...@gmail.com
> wrote:

> Hi,
>
>
>
> I have form, and a list that is being populated with it. When I first enter
> the action the list populates properly. But the second time, I get the
> following error:
>
>
>
> tag 'select', field 'list', name 'country': The requested list key
> 'countries' could not be resolved as a
> collection/array/map/enumeration/iterator type. Example: people or
> people.{name} - [unknown location]
>
>
> org.apache.struts2.components.Component.fieldError(Component.java:230)
>
>
> org.apache.struts2.components.Component.findValue(Component.java:351)
>
>
>
> org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java
> :80)
>
>
> org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
>
>        org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
>
>        org.apache.struts2.components.UIBean.end(UIBean.java:510)
>
>
>
> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSuppor
> t.java:42)
>
>
>
> org.apache.jsp.register_jsp._jspx_meth_s_005fselect_005f0(register_jsp.java:
> 537)
>
>
>
> org.apache.jsp.register_jsp._jspx_meth_s_005fform_005f0(register_jsp.java:18
> 0)
>
>        org.apache.jsp.register_jsp._jspService(register_jsp.java:81)
>
>        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
> 74)
>
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
>
>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
>
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
>
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:9
> 68)
>
>
>
> org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:640
> )
>
>
> org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:634)
>
>
>
> org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestC
> ontext.java:80)
>
>
>
> org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequest
> Context.java:73)
>
>
>
> org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestCon
> textWrapper.java:72)
>
>
>
> org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesReque
> stContext.java:88)
>
>
>
> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:28
> 3)
>
>
>
> org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.jav
> a:140)
>
>
>
> org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.jav
> a:117)
>
>
>
> org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:1
> 54)
>
>
>
> org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagS
> upport.java:75)
>
>
>
> org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport
> .java:80)
>
>
>
> org.apache.jsp.layouts.base_jsp._jspx_meth_tiles_005finsertAttribute_005f2(b
> ase_jsp.java:157)
>
>        org.apache.jsp.layouts.base_jsp._jspService(base_jsp.java:79)
>
>        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
> 74)
>
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
>
>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
>
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
>
> org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletT
> ilesRequestContext.java:198)
>
>
>
> org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(Servlet
> TilesRequestContext.java:179)
>
>
>
> org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestCon
> textWrapper.java:72)
>
>
>
> org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesReque
> stContext.java:88)
>
>
>
> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:60
> 6)
>
>
>
> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:24
> 6)
>
>
> org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)
>
>
>
> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSuppor
> t.java:186)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionI
> nvocation.java:361)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:265)
>
>
>
> com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Validati
> onInterceptor.java:249)
>
>
>
> org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.do
> Intercept(AnnotationValidationInterceptor.java:68)
>
>
>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method
> FilterInterceptor.java:87)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(Con
> versionErrorInterceptor.java:122)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame
> tersInterceptor.java:195)
>
>
>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method
> FilterInterceptor.java:87)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame
> tersInterceptor.java:195)
>
>
>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method
> FilterInterceptor.java:87)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(St
> aticParametersInterceptor.java:148)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterce
> ptor.java:93)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInt
> erceptor.java:235)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDr
> ivenInterceptor.java:89)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(S
> copedModelDrivenInterceptor.java:128)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(Prof
> ilingActivationInterceptor.java:104)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(Debu
> ggingInterceptor.java:267)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingIn
> terceptor.java:126)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareIn
> terceptor.java:138)
>
>
>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method
> FilterInterceptor.java:87)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nIntercepto
> r.java:148)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCon
> figInterceptor.java:164)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasIntercep
> tor.java:128)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(Ex
> ceptionMappingInterceptor.java:176)
>
>
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati
> on.java:236)
>
>
>
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
>
>
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
>
>
>
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.jav
> a:395)
>
>
>
> It seems like the countries object has been poped off of the value stack
> during the validation firing, any ideas how to fix this??
>
>
>
> The tag is as follows:
>
>
>
> <s:select id="registration_countryCode" name="country" multiple="false"
> emptyOption="true" required="true"
>
>            list="countries" listKey="code" listValue="name" label="Country"
> >
>
>
>
> thanks,
>
> Sid Bhatia
> "Try not. Do...  or do not. There is no try" -- Yoda
> _________________________
> *  <mailto:sidharth.bha...@lehman.com> mailto:sidharth.bhat...@gmail.com
>
>
>
>

Reply via email to