问题描述
tag'doubleselect',field'list',name'district_id':Therequestedlistkey'disList'couldnotberesolvedasacollection/array/map/enumeration/iteratortype.Example:peopleorpeople.{name}-[unknownlocation]atorg.apache.struts2.components.Component.fieldError(Component.java:240)atorg.apache.struts2.components.Component.findValue(Component.java:361)atorg.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)atorg.apache.struts2.components.DoubleListUIBean.evaluateExtraParams(DoubleListUIBean.java:96)atorg.apache.struts2.components.DoubleSelect.evaluateExtraParams(DoubleSelect.java:61)atorg.apache.struts2.components.UIBean.evaluateParams(UIBean.java:864)atorg.apache.struts2.components.UIBean.end(UIBean.java:516)atorg.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)atorg.apache.jsp.pages.search_005flist_jsp._jspx_meth_s_005fdoubleselect_005f0(search_005flist_jsp.java:298)atorg.apache.jsp.pages.search_005flist_jsp._jspService(search_005flist_jsp.java:125)atorg.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)atorg.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)atorg.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)atorg.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)atorg.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)atorg.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)atorg.apache.struts2.components.Include.include(Include.java:281)atorg.apache.struts2.components.Include.end(Include.java:167)atorg.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)atorg.apache.jsp.pages.manage_jsp._jspx_meth_s_005finclude_005f1(manage_jsp.java:183)atorg.apache.jsp.pages.manage_jsp._jspx_meth_s_005fform_005f0(manage_jsp.java:148)atorg.apache.jsp.pages.manage_jsp._jspService(manage_jsp.java:83)atorg.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)atorg.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)atorg.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)atorg.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)atjava.lang.Thread.run(Thread.java:662)麻烦给个准确的错误位置起码让我知道是哪里的问题拜谢!!!
解决方案
解决方案二:
search_list.jsp里面用到了一个doubleselect的标签,数据来源你配置的是disList,但是disList不是一个数组
解决方案三:
disList列表没取到值,或者值的格式不正确,不是集合类型
解决方案四:
引用1楼wangxf_8341的回复:
search_list.jsp里面用到了一个doubleselect的标签,数据来源你配置的是disList,但是disList不是一个数组
这是jsp的代码,就是报错的那段doubleselect标签内的代码,拜谢给看下哪里的问题,我实在是看不出来啊<li><divclass="add"><s:doubleselectdoubleList="streetMap.get(top.id)"list="disList"doubleName="house.street_id.id"name="district_id"headerKey=""headerValue="不限"doubleHeaderKey=""doubleHeaderValue="不限"listKey="id"listValue="name"doubleListKey="id"doubleListValue="name"></s:doubleselect></div></li>这是action的代码publicvoidgetSelect(){typeList=service.findTypeList();//获取房屋类型集合disList=service.findDistrictList();//获取房屋所在区域集合streetMap=newHashMap<Integer,List<Street>>();for(inti=0;i<disList.size();i++){//遍历区域集合Districtdis=disList.get(i);if(dis.getStreets()!=null&&dis.getStreets().size()>0){streetMap.put(dis.getId(),newArrayList<Street>(dis.getStreets()));//关于ArrayList<Street>(dis.getStreets())带个参数,定义一个ArrayList集合作为键值}}}