我面对这样的问题。我写了这样的jstl代码:

<c:forEach var="package" items="${hotel.packages}">
    <c:forEach var="product_item" items="${package.items}">
           //some inputs and so on
    </c:forEach>
</c:forEach>


我的模型类如下所示:

酒店等级

private java.util.Set<com.acmecorp.acmeproject.model.catalog.hotel.HotelPackage> packages;
public java.util.Set<com.acmecorp.acmeproject.model.catalog.hotel.HotelPackage> getPackages() { /* compiled code */ }

public void setPackages(java.util.Set<com.acmecorp.acmeproject.model.catalog.hotel.HotelPackage> packages) { /* compiled code */ }


酒店套餐

    public java.util.Set<com.acmecorp.acmeproject.model.catalog.hotel.HotelPackageItem> getItems() { /* compiled code */ }

    public void setItems(java.util.Set<com.acmecorp.acmeproject.model.catalog.hotel.HotelPackageItem> items) { /* compiled code */ }
private java.util.Set<com.acmecorp.acmeproject.model.catalog.hotel.HotelPackageItem> items;


我收到此消息

org.apache.jasper.JasperException: /WEB-INF/view/controls/hotelPackages/hotelPackagesView.jsp (line: 165, column: 24) "${package.items}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [${package.items}]


同时尝试打开我的jsp。
第164行是此行<c:forEach var="product_item" items="${package.items}">

那么,可能有人知道这是什么问题吗?

最佳答案

我相信这是因为“ package”是保留的Java关键字。尝试将其重命名为基本上所有其他内容。

07-24 09:18
查看更多