情報入力フォームから受け取った値をOrderオブジェクトに保存し、入力された情報の確認画面を出すJSPです。
java
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ page import="java.util.ArrayList, model.beans.*, java.sql.Date,java.text.SimpleDateFormat"%> 4 <% 5 request.setCharacterEncoding("UTF-8"); 6 7 String deliveryDate = request.getParameter("deliveryDate"); 8 String deliveryMinute = request.getParameter("deliveryMinute"); 9 String recieverName = request.getParameter("recieverName"); 10 String recieverKana = request.getParameter("recieverKana"); 11 String recieverZip = request.getParameter("recieverZip1" + " - " + "recieverZip2"); 12 String recieverAddress = request.getParameter("recieverAddress1" + " / " + "recieverAddress2"); 13 String recieverTel = request.getParameter("recieverTel1" + " - " + "recieverTel2" + " - " + "recieverTel3"); 14 String senderName = request.getParameter("senderName"); 15 String senderKana = request.getParameter("senderKana"); 16 String senderZip = request.getParameter("senderZip1" + " - " + "senderZip2"); 17 String senderAddress = request.getParameter("senderAddress1" + "senderAddress2"); 18 String senderTel = request.getParameter("senderTel1" + " - " + "senderTel2" + " - " + "senderTel3"); 19 String senderEmail = request.getParameter("senderEmail"); 20 Order order = null; 21 if(deliveryDate != null){ 22 Date sqlDate= Date.valueOf(deliveryDate); 23 //SQLでエラーになるので、d1(deliveryDate)を省いたコンストラクタを使用 24 order = new Order(sqlDate,deliveryMinute, recieverName, recieverKana, recieverZip, recieverAddress, recieverTel, senderName, senderKana, senderZip, senderAddress, senderTel, senderEmail); 25 session.setAttribute("order", order); 26 } 27 %>
この際、sqlのDate型に変換しようとすると
java.lang.IllegalArgumentExceptionのエラーが出ました。
恐らくdeliveryDateをいれようとするとエラーになるようです。
jsp
1<td>お届け日<input type="text" name="deliveryDate" id="input"></td> 2<script> 3$(function() { 4$.datepicker.setDefaults($.datepicker.regional["ja"]); 5$('#date').datepicker({ dateFormat: 'yy-mm-dd' }); 6$("#input").datepicker({ 7minDate: '-1w', //本日の1週間前から 8maxDate: '+1m +10d' //本日の1か月と10日後まで 9}); 10}); 11</script>
重大: Servlet.service() for servlet [jsp] in context with path [/FlowerSystem] threw exception [An exception occurred processing JSP page /orderConfirm.jsp at line 22 Order order = null; if(deliveryDate != null){ Date sqlDate= Date.valueOf(deliveryDate); order = new Order(sqlDate,deliveryMinute, recieverName, recieverKana, recieverZip, recieverAddress, recieverTel, senderName, senderKana, senderZip, senderAddress, senderTel, senderEmail); session.setAttribute(""order"", order); } Stacktrace:] with root cause [月 5 31 10:07:22 JST 2021]
いろいろ試しましたが解決しません。
引数が不定とありますが、どこを見れば良いでしょうか。
回答1件
あなたの回答
tips
プレビュー