JSTL не выводит значения свойств объекта - PullRequest
0 голосов
/ 26 ноября 2018

Я новичок в сервлетах Java и, следовательно, работал над этим, когда возникла эта проблема, и я много искал решения, но не повезло.

В сервлете

Я сохранил список объектов в сеансе и перенаправил его на страницу JSP.

List<PostBean> posts= PostDAO.getPosts(user.getId());
session.setAttribute("posts", posts);
request.getRequestDispatcher("dashboard.jsp").forward(request, response);

Здесь getPosts () возвращает все сообщения, созданные пользователем как List<PostBean>

На странице JSP

<% List<PostBean> posts = (List<PostBean>) session.getAttribute("posts");
   request.setAttribute("posts", posts);
%>

<section class="posts">
    <c:forEach items="${posts}" var="post">
       <h2><c:out value="${post.userId}"/></h2>
    </c:forEach>
</section>

В ответе на stackoverflow я узнал, что список объектов должен быть сохранен в объекте запроса как таковой, а затем использован в jstl, аЯ также пытался использовать sessionScope.posts, но все равно он не работал.

PostBean

Я сделал два его свойства общедоступными только потому, что вызывал метод getter дляобъект был предупрежден как Cannot resolve method 'getBody'.Поэтому, чтобы получить к ним прямой доступ, я сделал их общедоступными, но все еще не работает.

package Beans;

public class PostBean {

   private int id;
   public String body; //made public 
   public int userId;  //made public
   private String link;
   private String date;

   public int getId() {
       return id;
   }

   public void setId(int id) {
       this.id = id;
   }

   public String getBody() {
       return body;
   }

   public void setBody(String body) {
       this.body = body;
   }

   public int getUserId() {
       return userId;
   }

   public void setUserId(int userId) {
       this.userId = userId;
   }

   public String getLink() {
       return link;
   }

   public void setLink(String link) {
       this.link = link;
   }

   public String getDate() {
      return date;
   }

   public void setDate(String date) {
       this.date = date;
   }

}

Что не так в коде?Может кто-нибудь объяснить вкратце об этом?

Заранее спасибо.

...