У меня вот такой работающий контроллер:
@Controller
@RequestMapping("/")
public class MainController {
@RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("title", "Ура!");
model.addAttribute("message", "Работает!");
DataFromBase dataFromBase = new DataFromBase();
List<Book> bookList = dataFromBase.getBooks();
model.addAttribute("bookList",bookList); <- вот попытка передать Лист на jsp
return "index";
}
}
и так как это мой первый опыт со спрингом, то вот таким образом я получаю List из MySQL при помощи Hibernate:
public class DataFromBase {
private static final SessionFactory ourSessionFactory;
static {
try {
Configuration configuration = new Configuration();
configuration.configure("well/dao/hibernate.cfg.xml");
ourSessionFactory = configuration.buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError("Ooops 1: " + ex);
}
}
public static Session getSession() throws HibernateException {
return ourSessionFactory.openSession();
}
public List<Book> getBooks() {
final Session session = getSession();
List<Book> bookList = new LinkedList<>();
try {
System.out.println("querying all the managed entities...");
final Metamodel metamodel = session.getSessionFactory().getMetamodel();
for (EntityType<?> entityType : metamodel.getEntities()) {
final String entityName = entityType.getName();
final Query query = session.createQuery("from " + entityName);
System.out.println("executing: " + query.getQueryString());
bookList = query.list();
for (Object o : bookList) {
System.out.println(" " + o);
}
}
return bookList;
} finally {
session.close();
}
}
}
ну и собственно сам jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Заголовок: ${title}</title>
</head>
<body>
Сообщение: ${message}
<table>
<thead>
<tr>
<th>id</th>
<th>title</th>
<th>description</th>
<th>author</th>
<th>isbn</th>
<th>printYear</th>
<th>readAlready</th>
</tr>
</thead>
<tbody>
<tr>
<c:forEach var="book" items="${bookList}">
<td>${book.id}</td>
<td>${book.title}</td>
<td>${book.description}</td>
<td>${book.author}</td>
<td>${book.isbn}</td>
<td>${book.printYear}</td>
<td>${book.readAlready}</td>
</c:forEach>
</tr>
</tbody>
</table>
</body>
</html>
но фокус не удается... как правильно это сделать?
верно, не хватало:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть ajax запрос, который подгружает нужную информациюНа серверной стороне различным группам пользователей некоторые страницы могут быть...
Как увеличить размер сайта в html?Например: я закидал все картинками и мои контакты в нижнем правом углу,которые туда прикручены уехали почти...