データベースの情報をとってきてjspで表示したいのですが、trueと出るだけで表示されません。返す値がbooleanだからだと思うのですが、どう書き換えれば良いかわかりませんどうしたらいいですか?
サーブレットはこちらです
package servlet;
import java.io.IOException;
import java.sql.SQLException;
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 model.Postalcode;
import model.PostalcodeDAO;
/**
-
Servlet implementation class SearchServlet
*/
@WebServlet("/SearchServlet")
public class SearchServlet extends HttpServlet {
private static final long serialVersionUID = 1L;/**
- @see HttpServlet#HttpServlet()
*/
public SearchServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
- @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
-
@see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");Postalcode postalcode = new Postalcode();
PostalcodeDAO dao = new PostalcodeDAO();postalcode.setCode(request.getParameter("code"));
boolean result = false;
try {
result = dao.check(postalcode) != null;
} catch (SQLException e) {
e.printStackTrace();
}//HttpSession session = request.getSession();
//session.setAttribute("postalcode", postalcode);
request.setAttribute("postalcode",result);
if (result) {
// ログインに成功している場合はmember.jspへ
this.getServletContext().getRequestDispatcher("/searchResult.jsp")
.forward(request, response);
} else {
// ログインに失敗している場合はlogin.jspへ
request.setAttribute("error", "その郵便番号は。。。");
this.getServletContext().getRequestDispatcher("/search.jsp")
.forward(request, response);
}
}
- @see HttpServlet#HttpServlet()
}
DAOはこちらです
package model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
public class PostalcodeDAO {
final private static String dbname = "test"; // データベース名
final private static String user = "dbpuser"; // tutorialにアクセスできるユーザ
final private static String password = "hogehoge"; // wspuserのパスワード
final private static String driverClassName = "org.postgresql.Driver";
final private static String url = "jdbc:postgresql://localhost/" + dbname;
public LinkedList<String> check(Postalcode postalcode) throws SQLException { // memberがDBにあるかどうかを調べる LinkedList<String> ll = new LinkedList<String>(); boolean result = false; Connection connection; String sql = "select * from postalcode where code=?"; try { Class.forName(driverClassName); connection = DriverManager.getConnection(url, user, password); PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setString(1, postalcode.getCode()); ResultSet resultSet = pstmt.executeQuery(); if (resultSet.next()) result = true; while(resultSet.next()){ ll.add(resultSet.getString("city")); } resultSet.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } return ll; }
}

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。