Java 显示结果NULL的JSP GETTER SETTER
我试图从java类的getter中检索和显示数据,但无法显示结果。它在我的jsp页面中显示0和null。我想不出这个问题。我首先添加了servlet代码,然后是DAO代码,然后是jsp代码Java 显示结果NULL的JSP GETTER SETTER,java,jsp,servlets,Java,Jsp,Servlets,我试图从java类的getter中检索和显示数据,但无法显示结果。它在我的jsp页面中显示0和null。我想不出这个问题。我首先添加了servlet代码,然后是DAO代码,然后是jsp代码 PrintWriter out = response.getWriter(); String input = request.getParameter("list"); String txtField = request.getParameter("txtFi
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>
PrintWriter out=response.getWriter();
字符串输入=request.getParameter(“列表”);
字符串txtField=request.getParameter(“txtField”);
字符串op=request.getParameter(“op”);
字符串bSearch=request.getParameter(“bookingSearch”);
试一试{
如果(op.equals(“1”)){
搜索search1=新搜索();
search1.setInputList(输入);
search1.setTxtField(txtField);
SearchDAO SearchDAO=新SearchDAO();
布尔searchDriver=searchDAO.searchDriver(search1);
如果(搜索驱动程序){
sendRedirect(“driversearchresult.jsp”);
//sendRedirect(“SearchOutPut.jsp?op=“+search1.getPassingValue());
}
否则{
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“警报('未找到记录!'));
out.println(“”);
out.println(“”);
}
}
包com.vechile.dao;
导入java.sql.ResultSet;
导入com.vechile.model.DriverSearchResult;
导入com.vechile.model.search;
导入com.vechile.utils.DBConnection;
公共类SearchDAO{
私有字符串sql;
私有结果集rs,rs1;
公共布尔搜索驱动程序(搜索){
试一试{
sql=String.format(“从adddriver中选择*,其中(%s)='%s',
正在搜索.getInputList(),正在搜索.getTextField());
rs=DBConnection.executeQuery(sql);
如果(rs.next()){
DriverSearchResult searchResult=新的DriverSearchResult();
整数driverId=新整数(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(“dcontry”);
返回true;
}
}捕获(例外e){
e、 getStackTrace();
}
返回false;
}
公共布尔搜索预订(搜索){
试一试{
sql=String.format(
“从预订中选择*,其中预订id='%s'”,
search.getBookingSearch());
rs1=DBConnection.executeQuery(sql);
if(rs1.next()){
返回true;
}
}捕获(例外e){
e、 getStackTrace();
}
返回false;
}
}
预订搜索结果
身份证件
名称
问题在于您在jsp代码中创建了一个新的驱动程序搜索结果
:
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>
什么是DriverSearchResult?在任何地方都看不到它什么是null?堆栈跟踪没有告诉您引发异常的文件和行号吗?您没有访问调试器的权限吗?@duffymo-我正在进行我的mca,这是我的实习项目。我的HOD告诉我只使用servlet。我该怎么做?我知道现代开发设备方法。它正在网页上打印0
和null
。他创建了一个未初始化的新对象。我想Adam Arold是对的。调试器会让你比在这里提问更快地解决这个问题。学习如何调试是一项重要技能。