2015-04-28 54 views
2

我試圖從我的java類的getters中檢索並顯示數據,但無法顯示結果。它在我的jsp頁面顯示0和null。我無法弄清楚這個問題。我先添加了servlet代碼,然後添加了DAO代碼,然後添加了jsp代碼。JSP GETTER SETTER SHOWING RESULT NULL

PrintWriter out = response.getWriter(); 
      String input = request.getParameter("list"); 
      String txtField = request.getParameter("txtField"); 
      String op = request.getParameter("op"); 
      String bSearch = request.getParameter("bookingSearch"); 



      try{ 
       if(op.equals("1")){ 
        Searching search1 = new Searching(); 
        search1.setInputList(input); 
        search1.setTxtField(txtField); 
        SearchDAO searchDAO = new SearchDAO(); 
        boolean searchDriver = searchDAO.searchDriver(search1); 
        if(searchDriver){ 
         response.sendRedirect("driversearchresult.jsp"); 


         //response.sendRedirect("SearchOutPut.jsp?op=" + search1.getPassingValue()); 
        } 
        else { 
         out.println("<html>"); 
         out.println("<head>"); 
         out.println("<script>"); 
         out.println("alert('Record Not Found!')"); 
         out.println("</script>"); 
         out.println("<META HTTP-EQUIV= Refresh CONTENT=0;URL=SearchDriver.jsp>"); 
        } 

       } 


    package com.vechile.dao; 

    import java.sql.ResultSet; 
    import com.vechile.model.DriverSearchResult; 
    import com.vechile.model.Searching; 
    import com.vechile.utils.DBConnection; 

    public class SearchDAO { 
     private String sql; 
     private ResultSet rs, rs1; 

     public boolean searchDriver(Searching searching) { 
      try { 

       sql = String.format("select * from adddriver where (%s) = '%s'", 
         searching.getInputList(), searching.getTxtField()); 

       rs = DBConnection.executeQuery(sql); 

       if(rs.next()) { 
        DriverSearchResult searchResult = new DriverSearchResult(); 
        Integer driverId = new Integer(rs.getInt(1)); 
        String driverIdString = driverId.toString(); 
        searchResult.setId(driverIdString); 
        searchResult.setName(rs.getString("dname")); 
        searchResult.setAddress(rs.getString("daddress")); 
        searchResult.setCity(rs.getString("dcity")); 
        searchResult.setContact(rs.getString("dcontact")); 
        searchResult.setCountry(rs.getString("dcountry")); 

        return true; 
       } 
      } catch (Exception e) { 
       e.getStackTrace(); 
      } 
      return false; 
     } 



     public boolean searchBooking(Searching searching) { 
      try { 
       sql = String.format(
         "select * from booking where booking_id = '%s'", 
         searching.getBookingSearch()); 

       rs1 = DBConnection.executeQuery(sql); 
       if (rs1.next()) { 

        return true; 

       } 

      } catch (Exception e) { 
       e.getStackTrace(); 
      } 
      return false; 
     } 


    } 



    <%@page import="com.vechile.dao.UserDAO"%> 
    <%@page import="com.vechile.model.DriverSearchResult"%> 
    <%@page import="com.vechile.model.Vehicle"%> 
    <%@page import="com.vechile.model.Searching"%> 
    <%@page import="java.util.List"%> 
    <%@page import="com.vechile.dao.SearchDAO"%> 
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
     pageEncoding="ISO-8859-1"%> 
    <!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=ISO-8859-1"> 
    <title>Booking Search Result</title> 
    </head> 
    <body> 

    <% 
    DriverSearchResult dSR = new DriverSearchResult(); 

    %> 
    <table> 
    <th>ID</th> 
    <tr> 
    <td><%=dSR.getId() %></td> 
    </tr> 
    <th>Name</th> 
    <tr> 
    <td><%=dSR.getName() %></td> 
    </tr> 

    </table> 


    </body> 
    </html> 
+0

是什麼DriverSearchResult?無法在任何地方看到它 – MaVRoSCy

+0

什麼是空?堆棧跟蹤不會告訴您引發異常的文件和行號嗎?你沒有訪問調試器嗎? – duffymo

+0

@duffymo - 我正在追求我的mca,這是我的實習項目。我的HOD告訴我只使用servlet。我該怎麼辦 ?我瞭解現代發展方法。 –

回答

2

的問題是,您創建在JSP代碼newDriverSearchResult

DriverSearchResult dSR = new DriverSearchResult(); 

因爲它是一個新的對象的值初始化。然後你打印出來。

有問題的代碼:

<% 
    DriverSearchResult dSR = new DriverSearchResult(); // <- you create a new object 

    %> 
    <table> 
    <th>ID</th> 
    <tr> 
    <td><%=dSR.getId() %></td> <!-- <-- you print its id which is 0 --> 
    </tr> 
    <th>Name</th> 
    <tr> 
    <td><%=dSR.getName() %></td> <!-- <-- you print its name which is null --> 
    </tr> 
+1

感謝Adam Arold –