フォームの入力確認画面から、hiddenタイプで画面遷移する際にSQLに書き込む処理を行いたいのですが、OK!を押したあと三枚目の画像の様にエラーになります。
アドレスはきちんとイメージ通りになっているのですが。。。
以下の内容で良いですか?の下の式部分では値が表示されているので、
そこは問題ないことがわかっています。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="model.MeetingConfirmation"%> <% MeetingConfirmation mtgconf = (MeetingConfirmation)session.getAttribute("MTGConf"); %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>MTG Confirmation</title> </head> <body> <p>以下の内容で良いですか?</p> <%=mtgconf.getDate()%> <%=mtgconf.getPlace()%> <%=mtgconf.getContents()%> <form action="MTG?action=done" method="post"> <input type="hidden" name="MTGDate" value="<%=mtgconf.getDate()%>"> <input type="hidden" name="MTGPlace" value="<%=mtgconf.getPlace()%>"> <input type="hidden" name="MTGContents" value="<%=mtgconf.getContents()%>"> <input type="submit" value="OK!"> </form> <jsp:include page="../common_JSP/footer.jsp" /> </body> </html>
問題は、このOKを押してsubmitした後の処理のどこが誤っているのでしょうか?
以下サーブレットのソースです。
actionの値もdoneにしているのですが、恐らくここで
if elseの分岐に入らず、エラーを起こしていると想定しています。
お知恵をお貸しくださいませ。
@WebServlet("/MTG") public class MTG extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); if(action == null){ RequestDispatcher dispatcher = request.getRequestDispatcher("/jsp/MTG/MTG.jsp"); dispatcher.forward(request, response); }else if(action.equals("done")){ String a = request.getParameter("MTGDate"); String b = request.getParameter("MTGPlace"); String c = request.getParameter("MTGContents"); //フォームに入力されたデータを受け取り、SQL文を使ってデータベースに書き込んだあと、MTGに遷移 RequestDispatcher dispatcher = request.getRequestDispatcher("/jsp/MTG/MTG.jsp"); dispatcher.forward(request, response); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。