Мне нужно вручную отображать данные из базы данных на странице jsp. Но это не будет отображаться.Показать данные на странице jsp
Моя сущность:
@Entity
@NamedQuery(name="Contact.getAll", query="SELECT c FROM Contact c")
public class Contact implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String login;
private String name;
private String surname;
getters/setters/equals/hashcode
Bean управлять JSP:
public class DisplayDataBean {
private EntityManagerFactory emf = Persistence.createEntityManagerFactory("ContactsPU");
private EntityManager em = emf.createEntityManager();
private List<Contact> contacts = em.createNamedQuery("Contact.getAll", Contact.class).getResultList();
public List<Contact> getContacts() {
return contacts;
}
}
И страница JSP фрагмент:
<c:forEach var="contact" items="${DisplayDataBean.contacts}">
<tr>
<td><c:out value="${contact.login}"/></td>
<td><c:out value="${contact.name}"/></td>
<td><c:out value="${contact.surname}"/></td>
</tr>
</c:forEach>
Можете ли вы сказать, что может быть неправильно здесь? Заранее спасибо.
Кроме того, когда я работаю с
<sql:query var="contacts" dataSource="jdbc/contactapplication">
SELECT * FROM contact;
</sql:query>
все в порядке.
Проблема была в том, что я не объявлял DisplayDataBean. Решение является добавление тегов в JSP странице:
<jsp:useBean id="displayBean" class="web.DisplayDataBean"/>
Ну, я не использую ни весну, ни сервлеты. Это всего лишь 3 файла. Элементы атрибута должны иметь список контактов. – ihavelostmypants