java - Servlet、Jsp 和休眠。如何在jsp页面中打印查询结果
问题描述
我有一个 Java Servlet,它使用休眠从数据库中获取消息列表。
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
SessionFactory factory = session.getSessionFactory();
Session s = factory.openSession();
List<Message> messages = s.createQuery("FROM Message").list();
//print this list in home.jsp
}
如何将此消息发送到 home.jsp?
解决方案
伺服器:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
SessionFactory factory = session.getSessionFactory();
Session s = factory.openSession();
List<Message> messages = s.createQuery("FROM Message").list();
//associate with a request attribute
request.setAttribute("messages", message);
//forward to your JSP
request.getRequestDispatcher("messages.jsp").forward(request, response);
}
JSP
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<body>
<%-- will iterate the messages collection put in
request scope in the servlet --%>
<c:forEach items="${messages}" var="message">
Message = ${message.someProperty"}
</c:forEach>
</body>
</html>
有用的参考资料:
https://www.tutorialspoint.com/jsp/jstl_core_foreach_tag.htm https://www.tutorialspoint.com/jsp/jsp_expression_language.htm
推荐阅读
- sql - 我在 SQL 中遇到错误,无法修复此外键错误。有关详细信息,请参阅描述
- html - HTML:段落文本不堆叠成行。(所有的文字都在一行中并且在段落之外)
- continuous-integration - 如何并行运行 Travis CI 作业?
- node.js - 如何在 MongoDB 的帖子中更新数组中的详细信息?
- python - 接收错误的主题
- reactjs - 面包屑不根据 react-router-dom 版本 6 中的当前路由进行更新
- c++ - 在 C++ 类中将函数作为参数传递
- node.js - fabric-sdk-node:错误:无法从 PEM 解析密钥:不支持的参数
- c++ - 如何在 C++ 中获取空格后的所有字符?
- python - 使用pyinstaller打包时出现pyfmi ModuleNotFoundError