本人刚接触jstl
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
index.jsp页面代码如下:
<table>
<jsp:useBean id="foodop" class="hust.operation.FoodOperation"/>
<c:set var="foods" value="${foodop.foods}" scope="session"/>
<c:forEach var="subFood" items="${sessionScope.foods}" varStatus="status">
<c:if test="${status.index%2==0}">
<TR>
</c:if>
<TD><a href="demo3.jsp?foodId=${subFood.foodID}">${subFood.foodName }</a></TD>
<c:if test="${status.index%2==1}">
</TR>
</c:if>
</c:forEach>
</table>
demo3.jsp页面代码如下:
<body>
<c:set var="foodId" value="${param.foodId}" scope="page"/>
<c:forEach var="subFood" items="sessionScope.foods">
<c:if test="${foodId==subFood.foodID}">
<c:set var="foodToAdd" value="subFood"/>
</c:if>
</c:forEach>
${foodToAdd.foodName }</br>
${foodToAdd.foodPrice }
</body>
FoodBean中存在
private int foodID;
public int getFoodID() {
return foodID;
}
public void setFoodID(int foodID) {
this.foodID = foodID;
}
index.jsp页面正常显示,在跳转到demo3.jsp中时报如下错误:(苦解)
javax.servlet.ServletException: Unable to find a value for "foodID" in object of class "java.lang.String" using operator "."
javax.servlet.jsp.el.ELException: Unable to find a value for "foodID" in object of class "java.lang.String" using operator "."
求助于各位大侠
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
index.jsp页面代码如下:
<table>
<jsp:useBean id="foodop" class="hust.operation.FoodOperation"/>
<c:set var="foods" value="${foodop.foods}" scope="session"/>
<c:forEach var="subFood" items="${sessionScope.foods}" varStatus="status">
<c:if test="${status.index%2==0}">
<TR>
</c:if>
<TD><a href="demo3.jsp?foodId=${subFood.foodID}">${subFood.foodName }</a></TD>
<c:if test="${status.index%2==1}">
</TR>
</c:if>
</c:forEach>
</table>
demo3.jsp页面代码如下:
<body>
<c:set var="foodId" value="${param.foodId}" scope="page"/>
<c:forEach var="subFood" items="sessionScope.foods">
<c:if test="${foodId==subFood.foodID}">
<c:set var="foodToAdd" value="subFood"/>
</c:if>
</c:forEach>
${foodToAdd.foodName }</br>
${foodToAdd.foodPrice }
</body>
FoodBean中存在
private int foodID;
public int getFoodID() {
return foodID;
}
public void setFoodID(int foodID) {
this.foodID = foodID;
}
index.jsp页面正常显示,在跳转到demo3.jsp中时报如下错误:(苦解)
javax.servlet.ServletException: Unable to find a value for "foodID" in object of class "java.lang.String" using operator "."
javax.servlet.jsp.el.ELException: Unable to find a value for "foodID" in object of class "java.lang.String" using operator "."
求助于各位大侠
<a href="demo3.jsp?foodId=${subFood.foodID}">${subFood.foodName } </a>
改成如下的语句试试
<a href="demo3.jsp?foodId=<c:out value='${subFood.foodID}'/>"><c:out value='${subFood.foodName }'/> </a>可能是你在用${subFood.foodID}取值的时候没有用jstl标签 这样做时不行的
<c:if test="${foodId==subFood.foodID}">
<c:set var="foodToAdd" value="subFood"/>
</c:if>
</c:forEach> 应该是
c:forEach var="subFood" items="${sessionScope.foods}">