我才学习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后面的第一个字母小写了,而后面的字母大小写是不变的)。