Struts2 列表无法解析 [英] Struts2 list couldn't be resolved

查看:33
本文介绍了Struts2 列表无法解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮帮我.我面临这个错误 3 天.我在网上搜索了所有示例,但我无法弄清楚.

这些是我的文件:

<块引用>

struts.xml

<代码>...<action name="menu" class="com.struts.actions.MenuAction" method="asdf"><result name="success" type="tiles">struts2tiles.home</result></动作>...

<块引用>

menu2.jsp

<代码>....<身体><s:checkboxlist label="你喜欢什么颜色" list="colors" name="colors"/><s:submit value="submit" name="submit"/></s:form>

<块引用>

菜单操作

public class MenuAction extends ActionSupport {私有 ArrayList颜色;私人字符串 yourColor;公共 ArrayList获取颜色(){返回颜色;}public void setColors(ArrayList colors) {this.colors = 颜色;}公共字符串 getYourColor() {返回你的颜色;}public void setYourColor(String yourColor) {this.yourColor = yourColor;}公共字符串 asdf() {颜色 = 新的 ArrayList();颜色.添加(红色");颜色.添加(黄色");颜色.添加(蓝色");颜色.添加(绿色");返回成功;}@覆盖公共字符串执行(){System.out.println("执行菜单操作");颜色 = 新的 ArrayList();颜色.添加(红色");颜色.添加(黄色");颜色.添加(蓝色");颜色.添加(绿色");返回成功;}}

我做了什么,仍然存在同样的错误:

2011 年 12 月 22 日晚上 10:56:44 org.apache.catalina.core.ApplicationDispatcher 调用严重:servlet jsp 的 Servlet.service() 抛出异常标签checkboxlist",字段list",名称colors":请求的列表键colors"无法解析为集合/数组/地图/枚举/迭代器类型.示例:people or people.{name} - [未知位置]在 org.apache.struts2.components.Component.fieldError(Component.java:237)在 org.apache.struts2.components.Component.findValue(Component.java:358)在 org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)在 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(ComponentTagSupport.java:42)在 org.apache.jsp.jsp.common.menu2_jsp._jspx_meth_s_005fcheckboxlist_005f0(menu2_jsp.java:166)在 org.apache.jsp.jsp.common.menu2_jsp._jspx_meth_s_005fform_005f0(menu2_jsp.java:122)在 org.apache.jsp.jsp.common.menu2_jsp._jspService(menu2_jsp.java:84)在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)在 org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)在 org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)在 org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:927)在 org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:684)在 org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:678)在 org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:80)在 org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:73)在 org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestContextWrapper.java:72)在 org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesRequestContext.java:88)在 org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:283)在 org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140)在 org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117)在 org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:154)在 org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)在 org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)在 org.apache.jsp.jsp.common.mainLayout_jsp._jspx_meth_tiles_005finsertAttribute_005f2(mainLayout_jsp.java:181)在 org.apache.jsp.jsp.common.mainLayout_jsp._jspService(mainLayout_jsp.java:94)在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)在 org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)在 org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)在 org.apache.tiles.servlet.context.ServletTilesRequestContext.include(ServletTilesRequestContext.java:217)在 org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:177)在 org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestContextWrapper.java:72)在 org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesRequestContext.java:88)在 org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:606)在 org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:246)在 org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)在 org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)在 com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)在 com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)在 com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)在 org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)在 com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)在 com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)在 com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)在 com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)在 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)在 org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)在 org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:291)在 org.apache.struts2.components.ActionComponent.end(ActionComponent.java:173)在 org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)在 org.apache.jsp.index_jsp._jspx_meth_s_005faction_005f0(index_jsp.java:108)在 org.apache.jsp.index_jsp._jspService(index_jsp.java:76)在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)在 org.apache.tomcat.util.net.JioEndpoint$SocketProcessor.run(JioEndpoint.java:302)在 java.util.concurrent.ThreadPoolExecutor.runWorker(来源不明)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)在 java.lang.Thread.run(未知来源)

有人有想法吗?

解决方案

请求的列表键 'colors' 无法解析为集合/数组/映射/枚举/迭代器类型

当您尝试访问尚未创建的列表/集合时会发生此错误.

可能是您直接调用操作,即 loacalhost:8080/youraction.action.

请确保在action类实例化后访问list,即调用相应的action.

如果你想在调用action之前直接访问它,把它设为静态并在jsp内部访问它.

please help me. I am facing this error for 3 days. I have searched all the examples on the web, but I couldn't figured it out.

These are my files:

struts.xml

...
<action name="menu"  class="com.struts.actions.MenuAction" method="asdf">
<result name="success" type="tiles">struts2tiles.home</result>
</action>
...

menu2.jsp

....
<body>
<s:form action="menu">
    <s:checkboxlist label="What's your favor color" list="colors" name="colors" />

<s:submit value="submit" name="submit" />

</s:form>
</body>

MenuAction

public class MenuAction extends ActionSupport {
    private ArrayList<String> colors;
    private String yourColor;

    public ArrayList<String> getColors() {
        return colors;
    }

    public void setColors(ArrayList<String> colors) {
        this.colors = colors;
    }

    public String getYourColor() {
        return yourColor;
    }

    public void setYourColor(String yourColor) {
        this.yourColor = yourColor;
    }

    public String asdf() {
        colors = new ArrayList<String>();
        colors.add("red");
        colors.add("yellow");
        colors.add("blue");
        colors.add("green");

        return SUCCESS;
    }

    @Override
    public String execute() {
        System.out.println("execute menu action");
        colors = new ArrayList<String>();
        colors.add("red");
        colors.add("yellow");
        colors.add("blue");
        colors.add("green");

        return SUCCESS;
    }

}

Anything I did, still the same error persists:

Dec 22, 2011 10:56:44 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
tag 'checkboxlist', field 'list', name 'colors': The requested list key 'colors' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
    at org.apache.struts2.components.Component.fieldError(Component.java:237)
    at org.apache.struts2.components.Component.findValue(Component.java:358)
    at org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
    at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
    at org.apache.struts2.components.UIBean.end(UIBean.java:510)
    at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
    at org.apache.jsp.jsp.common.menu2_jsp._jspx_meth_s_005fcheckboxlist_005f0(menu2_jsp.java:166)
    at org.apache.jsp.jsp.common.menu2_jsp._jspx_meth_s_005fform_005f0(menu2_jsp.java:122)
    at org.apache.jsp.jsp.common.menu2_jsp._jspService(menu2_jsp.java:84)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:927)
    at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:684)
    at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:678)
    at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:80)
    at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:73)
    at org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestContextWrapper.java:72)
    at org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesRequestContext.java:88)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:283)
    at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140)
    at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117)
    at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:154)
    at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
    at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
    at org.apache.jsp.jsp.common.mainLayout_jsp._jspx_meth_tiles_005finsertAttribute_005f2(mainLayout_jsp.java:181)
    at org.apache.jsp.jsp.common.mainLayout_jsp._jspService(mainLayout_jsp.java:94)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
    at org.apache.tiles.servlet.context.ServletTilesRequestContext.include(ServletTilesRequestContext.java:217)
    at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:177)
    at org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestContextWrapper.java:72)
    at org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesRequestContext.java:88)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:606)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:246)
    at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)
    at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)
    at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
    at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    at org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:291)
    at org.apache.struts2.components.ActionComponent.end(ActionComponent.java:173)
    at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
    at org.apache.jsp.index_jsp._jspx_meth_s_005faction_005f0(index_jsp.java:108)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:76)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Anyone has an idea?

解决方案

The requested list key 'colors' could not be resolved as a collection/array/map/enumeration/iterator type

This error occurs when you try to access a list/collection which haven't been created.

May be you are calling action directly i.e. loacalhost:8080/youraction.action.

Please ensure that you access list after the action class is instantiated i.e. corresponding action is called.

If you want to directly access it before calling action make it static and access it inside jsp.

这篇关于Struts2 列表无法解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆