日期:2014-05-20  浏览次数:20687 次

EL表达式低级问题求教
我才学习EL表达式,但不知道为什会出现以下问题:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="list" value="${food.getFoodInfo}" scope="session"/>
<body>
<c:forEach var="foods" items="sessionScope.list" varStatus="status">
  ${list.foodId } //为什么在这个位置输出的不是JavaBean中的信息而是:${list.foodId }
</c:forEach>
</body>


------解决方案--------------------
在JSP头上加 <%@ page isELIgnored="false"%> 试试。 可能是 你servlet版本低
------解决方案--------------------
<c:set var="list" value="${food.getFoodInfo}" scope="session"/> 

这句代码错了(除非你那个food有一个getGetFoodInfo()的方法)。

你的问题在于对JSTL标签和EL的用法了解不够深入。

EL中如果你要调用一个对象的get方法,不用写get只要写后面部分就可以了。

例如:你的food对象有一个方法叫getFoodInfo,那写成EL就是这样:${food.foodInfo}(注意,get后面的第一个字母小写了,而后面的字母大小写是不变的)。