严重: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'model.Batch': The requested list key 'model.batchList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
上面是错误提示
下面的是我修改的页面代码
<s:select list="model.mapAll" label="年份" name="model.Year" id="Year" headerKey="" headerValue="--请选择年份--" onchange="chang()"></s:select>
<s:select list="model.allBatch" label="批次" name="model.Batch" id="Batch" ></s:select>
model.allBatch 和model.mapAll都是List<String>集合 原本我用的是
<s:select list="model.mapAll" label="年份" name="model.Year" id="Year" headerKey="" headerValue="--请选择年份--"></s:select>
<s:textfield name="model.Batch" id="Batch" label="批次" />
现在我要的效果是当我选择年份时 会从数据库里面查找属于这个年份下的所有批次并放在List<String>集合 传到页面。然后在页面用下拉框的形式显示出来。但是我修改完代码后就报上面的错 !求大神指点
------解决方案--------------------
如果是在显示页面遍历集合的话可以这样:
<c:forEach var="变量名" items="${model.mapAll}">
...
</c:forEach>变量的使用方法是:${变量名.属性}
------解决方案--------------------
错误很明显。model.batchList 这个list无法被解析为集合、数组等可迭代的类型~你现在后台打印一下你的数据~ 看看是否为空之类的
------解决方案--------------------
是的,看看你的写法是否有问题,然后看看后台是否可以取出来,你把数据打印看看嘛