2017-07-19 51 views
-1

我的动态Web项目中的response.jsp未显示数据库结果。下面是我的代码的一部分,没有任何问题建立的连接从Java Servlet将DB2查询结果打印到JSP

OrderController.java

package com.whs.reporting.controller; 

import java.io.IOException; 
import java.sql.SQLException; 

import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import com.waitrose.reporting.dao.OrderDao; 

/** 
* Servlet implementation class OrderC 
*/ 
@WebServlet(name="OrderServlet",urlPatterns={"/OrderController"}) 
public class OrderController extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public OrderController() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     OrderDao dao = new OrderDao(); 
     try {   
      request.setAttribute("orders",dao.getallorders());   
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     RequestDispatcher view = request.getRequestDispatcher("Response.jsp"); 
     view.forward(request, response);   
    } 
} 

的response.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> 
<title>Show Order Result</title> 
</head> 
<body> 
    <table border=1> 
     <thead> 
      <tr> 
       <th>Order Number</th> 
       <th>Service Type</th>     
       <th>Delivery Date</th> 
       <th>Branch Number</th>    
       <th>Total</th>    
      </tr> 
     </thead> 
     <tbody> 
     <c:forEach items="${orders}" var="order"> 
       <tr> 
        <td>${order.ordernumber}</td> 
        <td>${order.service}</td> 
        <td>${order.deliverydate}</td> 
        <td>${order.branch}</td> 
        <td>${order.total}</td>      
       </tr> 
      </c:forEach> 
     </tbody> 
    </table> 
</body> 
</html> 

任何人都可以请让我知道我是什么在这里丢失,为什么jsp不显示数据库结果?

+0

您应该只发布你所面临的问题与最相关的代码,除非有人明确要求看到更多的代码。 – Abubakkar

+0

您是否检查过您的代码没有生成任何异常? – Abubakkar

+0

谢谢,我用servelet和response.jsp更新了这个问题,我在生成的代码中没有任何例外 –

回答

1

response.jsp

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/xml" %> 

包括下列链接,因为你正在使用标签库,您需要提供它在其中使用JSTL标签的JSP。

<%@ page language="java" contentType="text/html; charset=EUC-KR" 
pageEncoding="EUC-KR"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/xml" %> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> 
<title>Show Order Result</title> 
</head> 
<body> 
<table border=1> 
    <thead> 
     <tr> 
      <th>Order Number</th> 
      <th>Service Type</th>     
      <th>Delivery Date</th> 
      <th>Branch Number</th>    
      <th>Total</th>    
     </tr> 
    </thead> 
    <tbody> 
    <c:forEach items="${orders}" var="order"> 
      <tr> 
       <td>${order.ordernumber}</td> 
       <td>${order.service}</td> 
       <td>${order.deliverydate}</td> 
       <td>${order.branch}</td> 
       <td>${order.total}</td>      
      </tr> 
     </c:forEach> 
    </tbody> 
</table> 

this can be help ful for reference

+0

我已经添加了标签,但得到错误“javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/core/LoopTag”我还在web应用程序库中添加了jstl.jar。但仍然无法正常工作 - –

+0

@ChimbuDurai尝试清理并重新部署到您的Tomcat中,或者尝试以下[方法](https://stackoverflow.com/a/19731101/2749470)和此[方法](https://stackoverflow.com/ a/21678762/2749470) –

+0

增加了jstl-1.2.jar,它现在可以工作。非常感谢!! –