java - 如何在 JSP 中通过 EJB 显示数据库表中的数据?

标签 java jsp ejb

<分区>

我需要在 JSP 中显示一个数据库表。

我有一个 session bean,它包含一个方法来显示在数据库中找到的所有数据。

我如何在 JSP 中使用它?

代码(来自下面的评论):

@Override public List findAll() { 
   String flightQuery = "SELECT f FROM Flights f"; 
   Query q = em.createQuery(flightQuery); 
   List existing = q.getResultList(); 

   if (existing.isEmpty()) { 
       System.out.println("Invalid");
   }
   return existing; 
}

JSP代码

<c:forEach items="${flights}" var="flight"> 
   <tr> 
   <td>${flight.flightid}</td> 
   <td><c:out value="${flight.flightnumber}" /></td> 
   <td><c:out value="${flight.datetime}" /></td> 
   <td><c:out value = "${flight.seatsleft}"</td> 
   <td><c:out value="${flight.id}" /></td> 
   <td><c:out value="${flight.price}" /></td> 
   <td><c:out value="${flight.originairport}" /></td> 
   <td><c:out value="${flight.destinationairport}" /></td>
   </tr>
</c:forEach> 
</table> 

它没有显示在表格中。

最佳答案

使用 Controller servlet。 our servlets wiki page 中已经演示了一个可以准确执行所需工作的基本示例。 ,在“Hello World #2(预处理请求)”部分下,大约在页面的一半。您可以使用 @EJB 注释直接将 EJB 注入(inject) servlet。

这里是相关的摘录:

@WebServlet("/products")
public class ProductServlet extends HttpServlet {

    @EJB
    private ProductService productService;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Product> products = productService.list();
        request.setAttribute("products", products);
        request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
    }

}

然后在 JSP 中:

<c:forEach items="${products}" var="product">
    <tr>
        <td>${product.id}</td>
        <td><c:out value="${product.name}" /></td>
        <td><c:out value="${product.description}" /></td>
        <td><fmt:formatNumber value="${product.price}" type="currency" /></td>
    </tr>
</c:forEach>

最后只需通过其 URL 调用 servlet:http://localhost:8080/context/products

关于java - 如何在 JSP 中通过 EJB 显示数据库表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341824/

相关文章:

java - 条纹上格式错误的波斯语或阿拉伯语字符

java - EJB 3 可以实现2 个远程接口(interface)吗?

java - Glassfish 4 的信息日志

java - 什么是java中的过时引用

java - 从 .jsp 到 html 页面的变量

javascript - jQuery-Enter键事件功能重复提醒

jsf - 无状态 session Bean 和请求范围 Bean 有什么区别

java - hybris 通过网络服务应用全局折扣

java - 当 ReSTLet 应该返回 400 Bad Request 时,它是否返回 415 Unsupported Media Type?

java - Autowiring 类时出现空指针异常