springmvc用model传值到jsp页面,el表达式引用接收不到传递过来的值
查看下controller层代码可以发现,写的是没有错误的。
@RequestMapping("list.do")
public String list(Model model){
Page<Brand> page= new Page<Brand>(1,10); Wrapper<Brand> wrapper= new EntityWrapper<Brand>();
Page<Brand> pageList = brandService.selectPage(page, wrapper);
List<Brand> records = pageList.getRecords();
for (Brand brand1: records) {
System.out.println(brand1);
}
model.addAttribute("pageList",pageList);
return "brand/list";
}
再来看下jsp页面
<c:forEach items="${pageList.records }" var="brand">
<tr bgcolor="#ffffff" onmouseout="this.bgColor='#ffffff'" onmouseover="this.bgColor='#eeeeee'">
<td><input type="checkbox" value="${brand.id }" name="ids"/></td>
<td align="center">${brand.id }</td>
<td align="center">${brand.name }</td>
<td align="center"><img width="40" height="40" src="/images/pic/ppp.jpg"/></td>
<td align="center"></td>
<td align="center">99</td>
<td align="center">
<c:if test="${brand.isDisplay == 1 }">是</c:if>
<c:if test="${brand.isDisplay == 0 }">否</c:if>
</td>
<td align="center">
<a class="pn-opt" href="/brand/toEdit.do?id=${brand.id }">修改</a> | <a class="pn-opt" onclick="if(!confirm('您确定删除吗?')) {return false;}" href="#">删除</a>
</td>
</tr>
</c:forEach>
可以看出是没有错误的,但是在jsp页面显示的结果始终是${brand.id}这样。
解决方法:
默认EL表达式的忽略是true的,所以EL表达式是没法使用的
只需要在jsp页面加入<%@ page isELIgnored="false" %>这可以了