【问题标题】:JSP GETTER SETTER SHOWING RESULT NULLJSP GETTER SETTER 显示结果为 NULL
【发布时间】:2015-04-28 14:05:18
【问题描述】:

我正在尝试从我的 java 类的 getter 中检索和显示数据,但无法显示结果。它在我的 jsp 页面中显示 0 和 null。我无法弄清楚这个问题。我首先添加了 servlet 代码,然后是 DAO 代码,然后是 jsp 代码。

 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>

【问题讨论】:

  • 什么是 DriverSearchResult ?哪里都看不到
  • 什么是空的?堆栈跟踪不会告诉您引发异常的文件和行号吗?你没有调试器吗?
  • @duffymo - 我正在攻读我的 mca,这是我的实习项目。我的 HOD 告诉我只使用 servlet。我该怎么办 ?我了解现代开发方法。
  • 它正在网页上打印0null。他创建了一个未初始化的新对象。
  • 我会说 Adam Arold 是对的。调试器可以让您比在此处询问更快地解决此问题。学习如何调试是一项重要的技能。

标签: java jsp servlets


【解决方案1】:

问题是你在你的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>

【讨论】:

    猜你喜欢
    • 2017-09-17
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    相关资源
    最近更新 更多