Tôi đang tạo một cuốn sách khách đơn giản trong JSP để tìm hiểu công nghệ này. Hiện tại tôi có hai lớp: guestbook/GuestBook.class và guestbook/Entry.class (tôi chưa hoàn thành ứng dụng, vì vậy tôi chỉ có các lớp này) được thêm vào WEB-INF/libs/và chúng được bao gồm đúng cách . Trong tệp index.jsp của tôi, tôi đang sử dụng lớp guestbook.GuestBook; phương thức của nó trả về Vector. Khi tôi duyệt qua các mục và tôi muốn in một tác giả của entry, tôi có thể thấy:JSP, EL tài sản không tìm thấy
javax.el.PropertyNotFoundException: Property 'author' not found on type guestbook.Entry
Tôi phải thêm rằng lớp Entry là công và thuộc tính tác giả được khai báo theo cách như vậy:
public String author;
Vì vậy, nó cũng là công khai. Đây là mã của tôi khi tôi lặp qua các mục:
<c:forEach items="${entries}" varStatus="i">
<c:set var="entry" value="${entries[i.index]}" />
<li><c:out value="${entry.author}" /></li>
</c:forEach>
và
entry.class.name
lợi nhuận guestbook.Entry
Các lớp học nằm trong gói lưu bút (như bạn có thể đoán), mục vector là được chuyển đến pageContext.
Tôi không biết mình đang làm gì sai. Ai có thể giúp tôi với điều đó không? (Cảm ơn trước!)
Ném một StackOverflowException :) Có vẻ như 'return context.getELResolver(). GetValue ( ngữ cảnh, cơ sở, thuộc tính);' gọi cùng một thực thi 'getValue'. –