modelAndView 返回 list 集合在jsp中取值
首先我先描述一下我遇到的问题,就是我后台写好了一个list集合,里面是一个对象的参数,但是我通过 springMvc 中的 modelAndView 返回到 jsp 中的时候遇到,list里面的值我取不到。后台都能打印出来这个对象的值但是我就是在 jsp 中拿不到值。好了直接上代码解释
这个是serviceImpl类
重点要看注释
@Override
public List<ZwfwLedVo> getBanJianGongGaoPage(String districtId) throws Exception {
List<Object> list = zwfwLedDao.getBanJianGongGaoPage(districtId);
List<ZwfwLedVo> listLedVo = new ArrayList<ZwfwLedVo>();
if(list.size() >= 0 && list != null) {
for(Object object : list) {
Map entry = (Map)object;
ZwfwLedVo zVo = new ZwfwLedVo();
zVo.setSqr(entry.get("APPLY_NAME").toString());
zVo.setSlbm(entry.get("ORGAN_NAME").toString());
zVo.setXmmc(entry.get("PROJECT_NAME").toString());
zVo.setSlzt(entry.get("BL_STATUS").toString());
zVo.setSqsj(entry.get("APPLY_TIME").toString());
//注意一下这个list里面添加了一个vo类
//这里是重点
listLedVo.add(zVo);
}
}
return listLedVo;
这个是controller类
重点要看注释
@RequestMapping(value = "/dltqLeds.shtml")
public ModelAndView imageSelect() {
ModelAndView modelAndView = new ModelAndView();
String districtId = "00000000000000000000000000000000";
try {
List<ZwfwLedVo> zwfwLedVos = zwfwLedService.getBanJianGongGaoPage(districtId);
//这块通过modelAndView给jsp页面传了一个zwfwLedVos的list集合
//这里面有一个vo对象,重点
modelAndView.addObject("zwfwLedVos",zwfwLedVos);
} catch (Exception e) {
e.printStackTrace();
}
modelAndView.setViewName("/portal/template/default/ledShuJuZhanShi/dltqLed");
return modelAndView;
}
这是jsp页面
重点要看注释
<!-- 首先这块大家要知道的是这里的items取值要取到刚刚modelAndView中添加的,不能写错 -->
<!-- 其次这里是重点,这个var后面的参数要写你刚刚添加的那个vo类的名字 -->
<!-- 就是上面servlceImpl中给zwfwLedVos这个list添加的vo类的名字。当时我就是在这里掉坑 -->
<c:forEach items="${zwfwLedVos }" var="zVo" varStatus="sta">
<tr>
<!-- 受理部门 -->
<td style="width:18%;">
<div title='<s:property value="#case[3] == null ? #case[7] : #case[3]"/>'>
<c:out value='${zVo.slbm }'/>
</div>
</td>
<!-- 项目名称 -->
<td style="width:28%;">
<div title='${zVo.xmmc }'>
<a style="color:#fff;" href="getNetCaseBoardDetail.action?zwfwCase.caseId=<c:out value='#case[0]'/>" target="_blank">
<c:out value="${zVo.xmmc }"/>
</a>
</div>
</td>
<!-- 申请人 -->
<td style="width:18%;">
<div title='<c:out value="#case[5]"/>'>
<c:out value="${zVo.sqr }"/>
</div>
</td>
<!-- 申请时间 -->
<td style="width:18%;">
<div>
<c:out value='${zVo.sqsj }'/>
</div>
</td>
<!-- 办理状态 -->
<td style="width:18%;">
<div >
<c:out value="${zVo.slzt }"></c:out>
</div>
</td>
</tr>
</c:forEach>
具体的modelAndView的使用方法请自己百度,这是我的总结,如有不对请大佬指示