Sunday, December 21, 2014

Advanced search inJSP

I can only perform single search in JSP, how to correct the codes to perform advanced serach ?(ketword search of JobName and select the JobCategory)


Partial of the servlet:



// obtain the parameter name;
// String jId = request.getParameter("jId");
// String cId = request.getParameter("cId");
String JobName = request.getParameter("JobName");
String JobCategory = request.getParameter("JobCategory");
if (JobCategory != null ) {
ArrayList<JobInfo> byCat = db2.queryJobByCategory(JobCategory);
request.setAttribute("jobs", byCat);
JobCategory = "";
} else if ( JobName != null) {
ArrayList<JobInfo> byName = db2.queryJobByName(JobName);
request.setAttribute("jobs", byName);
JobName = "";
}
RequestDispatcher rd;
rd = getServletContext().getRequestDispatcher("/studentListJob.jsp");
rd.forward(request, response);
} else {
PrintWriter out = response.getWriter();
out.println("No such action!!!");
}


Database :



try {
cnnct = getConnection();
String preQueryStatement = "SELECT * FROM job WHERE JobName LIKE ? ";

pStmnt = cnnct.prepareStatement(preQueryStatement);
pStmnt.setString(1, JobName + "%");
ResultSet rs = null;
rs = pStmnt.executeQuery();

while (rs.next()) {
cb = new JobInfo();

cb.setJobName(rs.getString("JobName"));
cb.setJobCategory(rs.getString("JobCategory"));
jobs.add(cb);

}
pStmnt.close();
cnnct.close();

} catch (SQLException ex) {
while (ex != null) {
ex.printStackTrace();
ex = ex.getNextException();
}
} catch (IOException ex) {
ex.printStackTrace();
}
return jobs;

}


Seach by JobCategory:



try {
cnnct = getConnection();
String preQueryStatement = "SELECT * FROM job WHERE JobCategory=? ";
pStmnt = cnnct.prepareStatement(preQueryStatement);
pStmnt.setString(1, JobCategory );
ResultSet rs = null;
rs = pStmnt.executeQuery();

while (rs.next()) {
cb = new JobInfo();
//String jId = rs.getString("jId");
// String cId = rs.getString("cId");
String JobName = rs.getString("JobName");
// cb.setjId(jId);
// cb.setcId(cId);
cb.setJobName(JobName);
cb.setJobCategory(JobCategory);
jobs.add(cb);

}
pStmnt.close();
cnnct.close();

} catch (SQLException ex) {
while (ex != null) {
ex.printStackTrace();
ex = ex.getNextException();
}
} catch (IOException ex) {
ex.printStackTrace();
}
return jobs;

}

No comments:

Post a Comment