MVCで画面遷移せずにデータの出力とエラーメッセージの表示をさせたいです。
ここに質問の内容を詳しく書いてください。
SQLサーバーのデータを検索し、画面遷移させずに表示させたいです。
エラーはないのですが、デバッグを行ったところデータがnullと表示されており、出力できていない状態だと思われます。
jsp画面でゲーム日~ゲーム日を検索すると、画面遷移せずにその画面上にテーブルで、ゲーム日、ゲーム内容、ゲーム開始時間、ゲーム終了時間を表示させたいです。
ソースコードを載せるので間違っている点などをご教授お願いします。(jspのソースは消してしまいありません。)
特にServletを見ていただきたいです。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Servlet、bean、DAO、ACtionのソースを載せます。
java
1 2Servletクラス 3 import文は省きます。 4 5@WebServlet("/HealthCheck") 6public class HealthCheck extends HttpServlet { 7 private static final long serialVersionUID = 1L; 8 9 protected void doGet(HttpServletRequest request, 10 HttpServletResponse response) 11 throws ServletException, IOException { 12doPost(request,response); 13} 14protected void doPost(HttpServletRequest request, 15 HttpServletResponse response) 16 throws ServletException, IOException { 17 18request.setCharacterEncoding("UTF-8"); 19String gameDay = request.getParameter("gameDay"); 20 21Game game = new Game(); 22 23 24 RequestDispatcher dispatcher = 25 request.getRequestDispatcher 26 ("/GameSearchView.jsp"); 27 dispatcher.forward(request, response); 28 } 29... 30javaBeanクラス 31 32 33public class Game { 34 private String gameDay; 35 private String gamePrice; 36 private String gameStartTime; 37 private String gameEndTime; 38 39public Game (){ 40 41public Game(String gameDay,String gamePrice,String gameStartTime,String gameEndTime); 42 43 public void setGameDay(String gameDay) { 44 this.gameDay = gameDay; 45 } 46 47 public String getGameDay() { 48 return gameDay; 49 } 50 51 public void setGamePrice(String gamePrice) { 52 this.gamePrice = gamePrice; 53 } 54 55 public String getGamePrice() { 56 return gamePrice; 57 } 58 59 public void setGameStartTime(String gameStartTime) { 60 this.gameStartTime = gameStartTime; 61 } 62 63 public double getGameStartTime() { 64 return gameStartTime; 65 } 66 67 public void setGameEndTime(String gameEndTime) { 68 this.bodyType = bodyType; 69 } 70 71 public String getGameEndTime() { 72 return gameEndTime; 73 } 74} 75 76... 77DAOクラス 78 79import文は省きます。 80 81public clas GameDAO{ 82 83private Connection con; 84 85public GameDAO(Connection con){ 86this.con = con; 87} 88 89public Game findGame(Strng gameDay) throws SQLException{ 90 91String dbURL = "ここは載せられません"; 92String user = ""; 93String pass = ""; 94con = DriverManagement.getConnection(dbURL,user,pass); 95 96String SQL = "select~"; 97 98ResultSet res = null; 99PreparedStatement stmt = null; 100Game game = null; 101 102try{ 103stmt = con.preparedStatement(sql); 104stmt = setString(1.gameDay); 105stmt = setString(2.gameDay); 106res = stmt.executeQuery(); 107 108if(res.next()){ 109game = new game(); 110game.setGameDay(gameDAy); 111game.setGamePrice(res.getString(2); 112game.setGameStartTime(res.getString(3); 113game.setGameEndTime(res.getString(4); 114} 115}finaly{ 116if(res != null) 117res.close(); 118if(stmt != null) 119stmt.close(); 120} 121return game; 122} 123} 124 125... 126Actionクラス 127 128import文は省きます。 129 130public class GameAction{ 131 132public String execute(HttpServletRequest.request){ 133String page = "GameSearchView.jsp" 134 135Stribg gameDay = request.getParameter("GAME_DAY"); 136 if(gameDay ! = null && gameDay.equals("")){ 137request.setAttribute("message","ゲーム日を入力してください"); 138return page; 139 140}else if (gameDay == null)){ 141request.setAttribute("message","ゲーム日が見つかりません"); 142return page; 143 144}else if (gameDay == " ")){ 145request.setAttribute("message","YYYY/MM/DDで入力してください"); 146return page; 147} 148 149request.setAttribute("game",game); 150 151page= "/GameSearchView.jsp" 152 153HttpSession session = request.getSesion(); 154コード
session.setAttribute("game",game);
return page;
}
}
...
試したこと
ネットや参考書を使っていますが、全然できません。かれこれ一週間以上取り組んでいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/12 14:33
2020/07/13 05:11